我有一台连接了适配器的ListActivity。现在,我想在适配器中注册单击列表项。这是我在ListActivity的onCreate中的解决方案:
this.myList = getListView();
this.myList.setAdapter(this.adapter);
this.myList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Log.d("Click", "ListView");
}
});但是OnItemClickListener永远不会响应。怎么啦?
发布于 2012-07-07 17:53:15
ListView list = (ListView) findViewById(R.id.listView1);
MobileArrayAdapter adapter = new MobileArrayAdapter(this,android.R.layout.simple_list_item_1);
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//your data
}
} 发布于 2012-07-07 17:29:09
您不需要设置OnItemClickListener。您必须覆盖onListItemClick
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// Do something when a list item is clicked
}第三个参数position是适配器中position处的元素。
发布于 2012-07-07 17:47:50
如果您使用每个列表项都有行布局,而不是在每个ImageView、按钮、复选框或TextView等的行布局中...您必须在xml中添加此行
android:clikable="false"
android:focusable="false"https://stackoverflow.com/questions/11373798
复制相似问题