我的问题是setSelection()
方法没有指向正确的项目。我正在创建一个搜索功能,用户可以点击搜索结果,然后主列表滚动到所选项目。
如果列表中的项目数量很少,则从1到100表示。它没有任何问题。当它变大,超过20,000。它指向列表中的错误项目。
这是我的代码的问题吗?它只是一个setSelection()
代码,我还在搜索结果上放了一个索引,这样我就可以比较我的搜索索引是否等于列表索引。
代码相当简单,
listView.setSelection(SearchActivity.selectedSearchIndex);
SearchActivity.selectedSearchIndex
包含搜索列表中显示的所选项目的索引。
由于
答案 0 :(得分:0)
如果您发布一些代码,那将会很有帮助。但是,在过去遇到过这个问题我知道使用postDelayed通常会修复它:
yourListView.postDelayed(new Runnable() {
@Override
public void run() {
yourListView.setSelection(yourPosition);
}
}, 50L);