gpt4 book ai didi

android - 为微调器添加过滤器并过滤微调器本身的数据

转载 作者:行者123 更新时间:2023-11-29 15:43:46 25 4
gpt4 key购买 nike

我有一个场景,我想在用户键入内容时过滤数据。我目前正在使用微调器,但我想要的是用户应该能够在微调器本身上写入数据,并在运行时过滤数据。我找不到与我想要的类似的东西。

类似于下图(它是在 ASP.net 中使用的 RadcomboBox 的示例)。

enter image description here

最佳答案

您可以使用 Edittext 和 Listview 来实现
当您在 EditText 框中键入时,Listview 将刷新数据。考虑初始 ArrayList<String> Citylist载入 CityAdapter就像下面的代码。

CityAdapter adapter = new CityAdapter(getActivity(), R.layout.customlayout, Citylist );
listview.setAdapter(adapter);

当您在 EditText Box 中键入时, ListView 将刷新数据 - 使用以下代码

     et_search.addTextChangedListener(new TextWatcher() {

public void afterTextChanged(Editable s) {
}

public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}

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

if(!s.toString().equals(""))
{
filterlist = new ArrayList<String>();

filterlist= getFilter(s.toString());
CityAdapter adapter = new CityAdapter(getActivity(), R.layout.customlayout, filterlist);
listview.setAdapter(adapter);


adapter.notifyDataSetChanged();
}
else
{
CityAdapter adapter = new CityAdapter(getActivity(), R.layout.customlayout, Citylist);
listview.setAdapter(adapter);
adapter.notifyDataSetChanged();
}

}
});

Listview 过滤函数如下 -

 public  ArrayList<String> getFilter(CharSequence charSequence)
{
ArrayList<String> filterResultsData = new ArrayList<String>();;
if(charSequence == null || charSequence.length() == 0)
{
return null;
}
else
{


for(String data : Citylist)
{
//In this loop, you'll filter through originalData and compare each item to charSequence.
//If you find a match, add it to your new ArrayList
//I'm not sure how you're going to do comparison, so you'll need to fill out this conditional
if(data.toLowerCase().contains(charSequence))
{
filterResultsData.add(data);
}
}

}

return filterResultsData;
}

关于android - 为微调器添加过滤器并过滤微调器本身的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36169944/

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