[英]onItemClick listView off by one, and last item clicked causes crash?
当我为列表视图设置onClickListener并设置每个列表视图单元的位置似乎都为一个时,并且最后一个列表视图单元导致崩溃时,就会出现该错误。 例如,如果我有一个包含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);
}
});
将标题视图添加到ListView
时,会发生这种情况。 我通过使用ListView
而不是适配器来获取项目来解决了这个问题。 参见ListView.getItemAtPosition(int position)
: http : //developer.android.com/reference/android/widget/ListView.html 。
采用
String externalURL = bookList.get(position-1).get("site_detail_url");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.