Arc*_*pgc 2 android listview onitemclicklistener
当我在具有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();
}
}
});
Run Code Online (Sandbox Code Playgroud)
在寻找解决方案后,我最终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();
}
}
});
Run Code Online (Sandbox Code Playgroud)
这有效.但为什么这么奇怪的行为.它为什么不按照应有的方式工作.
谢谢
usersList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
在这里你使用View了Adapter View,这是你的父类Custom Adapter.这就是为什么它不起作用.相反,你应该使用View的Custom Adapter.
getView()函数此处可帮助您将父视图转换Adpater View为Custom Adapter视图.
所以你使用两个选项中的任何一个,
usersList.setOnItemClickListener(new CustomAdapterView.OnItemClickListener() {
Run Code Online (Sandbox Code Playgroud)
要么
usersList.setOnItemClickListener(new OnItemClickListener() {
Run Code Online (Sandbox Code Playgroud)
这两个选项都可行.