2
我想要做的就是在AutoCompleteTextView的結果(它是字符串)的每個結果上顯示一個CheckBox。android AutoCompleteTextView似乎忽略了自定義ArrayAdapter的篩選器
我寫了一個實現Filterable的自定義數組適配器。我添加了一個簡單的過濾器,它會被調用(我檢查過)並返回預期的結果。但是顯示的結果是完全不同的結果。
這是我的過濾器,代碼:
private class MyFilter extends Filter
{
@Override
protected FilterResults performFiltering(CharSequence constraint)
{
FilterResults results = new FilterResults();
if ((constraint == null) || (constraint.length() == 0))
{
synchronized (mLock)
{
ArrayList<String> list = new ArrayList<String>();
results.values = list;
results.count = list.size();
}
}
else
{
String constr = constraint.toString().toLowerCase();
final ArrayList<String> newItems = new ArrayList<String>();
for (String temp : items)
{
if (temp.toLowerCase().startsWith((constr)))
{
newItems.add(temp);
}
}
results.values = newItems;
results.count = newItems.size();
}
return results;
}
@Override
protected void publishResults(CharSequence constraint,
FilterResults results)
{
if (results.count > 0)
{
notifyDataSetChanged();
}
else
{
notifyDataSetInvalidated();
}
}
}
難道我錯過了什麼? 謝謝!
我想我們需要看一些代碼。是否有可能你正在返回你需要的結果的補充?換句話說,你得到的結果與你想要的完全相反嗎? – 2011-03-30 15:53:00
謝謝您的回覆!我粘貼了我的過濾代碼。不幸的是,過濾器正在返回我想要的項目,所以它可能不是補充。 – ShadowMare 2011-04-04 11:30:20
錯誤可能在您的適配器中,然後... – 2011-04-04 14:10:39