当我为listview设置onClickListener并设置定位时,每个listview单元格似乎都是一个,并且最后一个listview单元格会导致崩溃。例如,如果我有5个项目的列表视图,如果我点击第一个,第二个详细信息显示,如果我点击第二个,第三个显示 - 最后一个项目导致崩溃,显然第一个项目详细信息从来没有出现过一个...不确定这里的问题是什么或者我将如何解决这个问题?从来没有遇到过这个问题...
private static void updateUI() {
SimpleAdapter adapter = new SimpleAdapter(
context, bookList,
R.layout.list_view, new String[] { "bookName",
"bookDetails", "bookYear" },
new int[] { R.id.bookName,
R.id.bookDetails,
R.id.bookYear });
mBookList.setAdapter(adapter);
mBookList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String externalURL = bookList.get(position).get("site_detail_url");
Intent intent = new Intent(context, BookWebViewActivity.class);
intent.setData(Uri.parse(externalURL));
context.startActivity(intent);
}
});
答案 0 :(得分:4)
我在向ListView
添加标题视图时发生这种情况。我通过使用ListView
来获取我的项目而不是适配器来解决问题。请参阅ListView.getItemAtPosition(int position)
:http://developer.android.com/reference/android/widget/ListView.html。
答案 1 :(得分:1)
使用
String externalURL = bookList.get(position-1).get("site_detail_url");