Android AutoCompleteTextViewは、カスタムArrayAdapterのフィルタを無視しているようです
-
14-11-2019 - |
質問
AutoCompleTextViewの結果(文字列)の結果の各結果にチェックボックスを表示しています。
フィルタラブルを実装するカスタムアレイアダプタを書きました。私は呼び出されるシンプルなフィルタを追加しました(私はそれをチェックしました)そして予想される結果を返します。しかし、表示された結果はまったく異なるものです。
これは私のフィルタコードです:
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();
}
}
}
.
何かが恋しいですか? ありがとうございました!
解決
I forgot to set my results as the new items of the adapter.
所属していません StackOverflow