gpt4 book ai didi

Android Listview 搜索到特定位置

转载 作者:行者123 更新时间:2023-11-30 03:08:52 25 4
gpt4 key购买 nike

现在我正在使用 edittext 和 listview 在 android 中制作程序。我想使用上面的 edittext 搜索 ListView 项目。将数据填充到 ListView 后,当用户在编辑文本中键入文本时, ListView 将滚动到以该文本开头的位置。示例:我有项目:苹果、应用程序、书籍、男孩、汽车、猫、现金..... 当我在 edittext 中键入 b 时, ListView 将滚动到书籍。我用的是listview.setSelection(position),但是因为我的数据量超过30,000,所以当我使用下面的代码时,查找数据很慢。是否有任何解决方案或任何其他方法可以做到这一点?这是我的代码:

YOUR_EDITTEXT.addTextChangedListener(new TextWatcher() {

public void onTextChanged(CharSequence s, int start, int before, int count) {

//LOGIC MAY DIFFER ACCORDING TO YOUR REQUIREMENT..
int POSITION = 0;
for(int i =0;i<list.size();i++) {
if(list.get(i).startsWith(s.toString()))
{
POSITION = i;
break;
}
}
listview.smoothScrollToPosition(POSITION);

}

public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub

}

public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub

}

});

最佳答案

您可以采用不同的方法并使用 AutoCompleteTextView 加载列表数据。这将提供您所需的功能,并且它旨在处理大型数据集。

例子: https://developers.google.com/places/training/autocomplete-android

关于Android Listview 搜索到特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21323745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com