1
私は時々継承されてきたいくつかのソースコードは、この行のConcurrentModificationExceptionをスローします:ConcurrentModificationExceptionがArrayAdapter
for (String c : filteredList) {
体:
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
ArrayList<String> filteredList = (ArrayList<String>) results.values;
if (results != null && results.count > 0) {
clear();
for (String c : filteredList) {
add(c);
}
notifyDataSetChanged();
}
}
がどのように私は起きてからこのエラーを回避する必要がありますか?
通常、私はちょうど反復のさらなるラウンドの代わりに直接フィルタリングされたリストを使用します。フィルタの基準が空/空の場合は、常に完全なリストへの参照を保持できます。 – Karakuri
'ArrayAdapter'では、項目の扱いの多くが内部的で利用できない(そして悲しいことに、' setItems(List ) 'メソッドを持っていないので本当に残念です) 。私は、代わりにBaseAdapterを拡張することで、あなたの人生を楽にすることができると思います.ArrayAdapterが提供するものは、再作成するのが非常に簡単です。 – Karakuri
BaseAdapterを拡張しないでArrayAdapterを使用しているときに、この致命的な問題のホットフィックスは何になりますか? –