我有一个 ListView,它的内容可以随时更改(例如,一个州内的城市列表;一个新城市可以随时添加到我们数据库中的州)。如果可能的话,我如何实现 onListItemClick 事件来处理这个问题?例如,如果用户在 ListView 中选择了某个城市,我应该能够传递一个值来独立标识哪个城市被点击到我的下一个 Activity 。我无法听取位置,因为它们可能会随着城市的添加或移除而改变。有什么建议吗?
最佳答案
在这种情况下,您必须编写自己的适配器(例如,扩展 BaseAdapter
)并覆盖 getItemId
方法:
@Override
public long getItemId(int posicion) {
return somethingThatIdentifyTheCityThatWasClicked;
}
由于 onListItemClick
方法获得了该 ID,剩下的就很简单了:
@Override
protected void onListItemClick(ListView l, View v, int position, long thisID)
{
// use the 'thisID' variable
}
关于android - 将 onListItemClick 与数据驱动的 ListView 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3121063/