我有一个自定义列表视图,其中我有一个textview
和一个ImageView
。我为textView和ImageView设置了focusable= false
。对于列表视图,我使用的是扩展ArrayAdapter<ApplicationInfo>
的自定义数组适配器。问题是列表项不是触发项单击侦听器,无论如何。我知道无法弄清楚这个问题是非常令人尴尬的,但我已经花了将近2个小时,但无法解决。这是代码:
在onCreate()
list = getListView();
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
Toast.makeText(MyApp.this, "hello", Toast.LENGTH_SHORT).show();
}
});
我也尝试过这种方式,但仍然无法获得点击次数。
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
Toast.makeText(this, "dfdsf",Toast.LENGTH_SHORT).show();
}
这个奇怪的问题可能是什么原因造成的?我以前使用CustomListViews但从未遇到过这个问题。
list.setAdapter(new CustomListAdapter(MyAppsList.this, appList, pManager));
答案 0 :(得分:1)
如果您只使用一个活动,请使用下一个代码来获取列表视图:
ListView list = (ListView)findViewById(R.id.your_list);
当您使用 ListActivity 时,您可以通过调用方法
获取ListViewListView list = getListView();
或者您可以使用
ListView list = (ListView)findViewById(R.id.your_list)
尝试使用 getViewView ()的 findViewById 。
HTH。