我试图在自定义适配器的ListView上获取选中Item的值,我使用以下代码尝试:
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
View curr = parent.getChildAt((int) id);
TextView c = (TextView)curr.findViewById(R.id.tvPopUpItem);
String playerChanged = c.getText().toString();
Toast.makeText(Settings.this,playerChanged, Toast.LENGTH_SHORT).show();
}
一开始,如果我点击,数值是正确的,但是一旦我滚动并且点击另一个项目,我得到的是那个被点击项目的错误值...有什么想法是什么原因导致这个问题?
id
可能指的是完全不同的索引。例如,CursorAdapters 在id
中返回表的主键。另一方面,position
应该始终指的是行数。 - Sam