[英]onListItemClick won't start
我正在尝试放置onListItemClick,但是当我启动我的应用程序时,onListItemClick却没有任何反应。 谁能帮我这个?
这是我的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
db = (new DatabaseHelper(this)).getWritableDatabase();
searchText = (EditText) findViewById(R.id.searchText);
employeeList = (ListView) findViewById(R.id.list);
Button searchButton = (Button) findViewById(R.id.searchButton);
searchButton.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
search(employeeList);
}
});
}
public void search(View view) {
// || is the concatenation operation in SQLite
cursor = db
.rawQuery(
"SELECT _id, firstName, lastName, title FROM employee WHERE firstName || ' ' || lastName LIKE ?",
new String[] { "%" + searchText.getText().toString()
+ "%" });
adapter = new SimpleCursorAdapter(this, R.layout.employee_list_item,
cursor, new String[] { "firstName", "lastName", "title" },
new int[] { R.id.firstName, R.id.lastName, R.id.title });
employeeList.setAdapter(adapter);
}
public void onListItemClick(ListView parent, View view, int position, long id) {
Intent intent = new Intent(this, EmployeeDetails.class);
Cursor cursor = (Cursor) adapter.getItem(position);
intent.putExtra("EMPLOYEE_ID", cursor.getInt(cursor.getColumnIndex("_id")));
startActivity(intent);
}
}
没有错误消息,搜索工作正常。
employeeList = (ListView) findViewById(R.id.list);
将这些行添加到上面的行下面
employeeList = (ListView) findViewById(R.id.list);
employeeList .setOnItemClickListener(this);
更新::示例代码
public class SampleActivity extends Activity implements OnItemClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(mWebView);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
// TODO Auto-generated method stub
}
}
用setOnItemClickListener为您的listview注册一个OnItemClickListener()
listView.setOnItemClickListener(new OnItemClickListener() {
@Override public void onItemClick(AdapterView<?> adapter, View view, int pos, long id) {
Intent intent = new Intent(this, EmployeeDetails.class);
Cursor cursor = (Cursor) adapter.getItem(pos);
intent.putExtra("EMPLOYEE_ID", cursor.getInt(cursor.getColumnIndex("_id")));
startActivity(intent);
}
});
您必须在代码中将侦听器注册为listview.setOnItemClickListener(this)
。
尝试这个
listview.setOnItemClickListener(new OnItemClickListener() {
// Your Code Goes Here
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.