1

我在android中开发了一个带有自定义列表视图的viewpager。我按照教程View Pager Part 1-3进行操作。我开发的主要区别是我在寻呼机的视图中使用了自定义列表视图。列表视图中的列表项还支持单击事件以显示有关项目的更多信息。

这是问题所在;我在instantiateItem 方法中处理了onItemClick,但我注意到当单击一个项目时,显示的内容是相邻列表视图的内容(即,如果单击第2 页的第2 项,则显示的信息是第3 页的第2 项)。

我意识到发生这种情况是因为寻呼机加载相邻列表以便为用户更快地呈现,所以我的代码使用预加载列表而不是当前显示中的列表。

我想找出适当的方法来处理 viewpager、代码片段、链接中的 listview 单击事件,.. 真的会有所帮助。用于处理点击事件的适当方法。

谢谢

4

1 回答 1

2

您必须从列表视图的适配器(onItemClick 方法的第一个参数)中获取它:

@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
     // NOT THIS!: mValue = (HereYourClass) listView.getItemAtPosition(position);
     mValue = (HereYourClass)a.getAdapter().getItem(position);
}
于 2012-06-16T20:21:27.450 回答