我有这个自定义列表。每行包含一个图像和两行文本,一行在另一行之下。我想在点击任何列表项时打开一个新活动。但即使在实现setOnItemClickListener()之后,我也无法这样做。如果我错了,请纠正我。以下是列表的代码。 PS:这是一项正常活动而非列表活动。
l1.setAdapter(new EfficientAdapter(this,eventTitleArray,eventDateArray,eventImageLinkArray));
//l1 = getListView();
l1.setClickable(true);
l1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
Intent intent = new Intent(MainActivity.this, DisplayActivity.class);
Bundle b = new Bundle();
b.putString("event", eventTitleArray[position]);
intent.putExtras(bundle);
startActivity(intent);
Toast.makeText(getApplicationContext(), "Opening detailed view for:"+eventTitleArray[position], Toast.LENGTH_SHORT).show();
}
});
答案 0 :(得分:13)
请查看行布局是否包含任何可聚焦的项目。如果ListView项包含可聚焦的子项,则不会触发Listview处理程序。
答案 1 :(得分:2)
我认为SDK中存在一个错误,当您的项目视图中存在可聚焦视图时,该错误会阻止onItemClickListeners触发。
因此,您应该尝试对项目的所有视图执行setFocusable(false)。
问题描述为here