【发布时间】:2012-12-24 10:56:41
【问题描述】:
当我在具有 ListView 的活动中使用它时,它不起作用。
usersList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
ong arg3) {
try {
Intent intent = new Intent(UsersListActivity.this,
UserActivity.class);
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
}
});
在搜索解决方案后,我最终在 Adapter
的getView() 中完成了它
convertView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
ong arg3) {
try {
Intent intent = new Intent(mActivity,
UserActivity.class);
mActivity.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
}
});
这行得通。但是为什么会有这种奇怪的行为。为什么它没有按应有的方式工作。
谢谢
【问题讨论】:
-
你在使用自定义适配器吗?
-
是的。我对项目中的几乎所有 ListView 都使用 CustomAdapter。大约有10-12个。但我从来没有遇到过这个错误。您可能感兴趣的一件事是:我对 3 个 ListView 使用相同的父项和相同的 list_item,但使用不同的适配器,这应该不会导致任何问题,对吧?
-
我试图在下面的回答中对这种意外行为提供一些解释。让我知道我是否在某个地方错了。
标签: android listview onitemclicklistener