【发布时间】:2014-02-19 10:43:21
【问题描述】:
我的活动中有两个ListViews 使用相同的OnItemClickListener。有什么方法可以确定我现在按下的是哪个 ListViews 元素?我用过这段代码:
@Override
public void onItemClick(AdapterView<?> list, View view, int position,
long id) {
if (view.getId() == R.id.listDictionary) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this, WordActivity.class);
DictionaryListElement ele = (DictionaryListElement) dictionaryList
.getAdapter().getItem(position);
intent.putExtra("word", ele.getWord());
startActivity(intent);
} else if (view.getId() == R.id.listFavourites) {
Intent intent = new Intent(MainActivity.this, WordActivity.class);
String ele = (String)favouritesList.getAdapter().getItem(position);
intent.putExtra("word", ele);
startActivity(intent);
}
}
但它不起作用。我认为它正在获取每个按下元素的 id 而不是 ListViews
【问题讨论】:
-
以上代码有什么问题?
-
尝试使用列表视图 id 而不是 view.getId()
标签: android listview onitemclicklistener onitemclick