不向 ArrayAdapter 添加项目
Does not add items to ArrayAdapter
所以我有这个代码:
suggestionsAdapter.clear();
locations.clear();
List<Predictions> predictions = gson.fromJson(jsonObject.getJSONArray("predictions").toString(), new TypeToken<List<Predictions>>(){}.getType());
for(Predictions prediction : predictions){
String title = prediction.terms.get(0).value;
locations.add(title);
suggestionsAdapter.add(title);
}
Log.i("","loc are:" + locations);
Log.i("","locations are:" + locations.size());
suggestionsAdapter.notifyDataSetChanged();
Log.i("","suggestion adapter size:" + suggestionsAdapter.getCount());
我回来了:
03-30 10:55:56.474: I/(3185): loc are:[Albert Cuypstraat, Albert Cuyp Market, Albania, Alblasserdam, Albert Cuypstraat]
03-30 10:55:56.474: I/(3185): locations are:5
03-30 10:55:56.474: I/(3185): suggestion adapter size:0
为什么会这样?
PS:这发生在监听器内部,监听器从 google 地点查询中取回预测。
更改为:
suggestionsAdapter.addAll(locations);
suggestionsAdapter.notifyDataSetChanged();
仍然是同样的结果,有时我得到:
03-30 11:03:25.876: I/(10409): loc are:[Albert Cuypstraat, Albert Cuyp Market, Albert Cuypstraat, AH Haarlemmerdijk, Albert Heijn]
03-30 11:03:25.876: I/(10409): locations are:5
03-30 11:03:25.876: I/(10409): suggestion adapter size:3
我将列表用于 AutoCompleteTextView。这就是问题所在。加载列表时,AutoCompleteTextView 正在过滤,因此它不显示响应的原因。
我使用从此处获取的自定义 autoCompleteTextView 修复了此问题:
https://www.codeofaninja.com/2013/12/android-autocompletetextview-custom-arrayadapter-sqlite.html
所以我有这个代码:
suggestionsAdapter.clear();
locations.clear();
List<Predictions> predictions = gson.fromJson(jsonObject.getJSONArray("predictions").toString(), new TypeToken<List<Predictions>>(){}.getType());
for(Predictions prediction : predictions){
String title = prediction.terms.get(0).value;
locations.add(title);
suggestionsAdapter.add(title);
}
Log.i("","loc are:" + locations);
Log.i("","locations are:" + locations.size());
suggestionsAdapter.notifyDataSetChanged();
Log.i("","suggestion adapter size:" + suggestionsAdapter.getCount());
我回来了:
03-30 10:55:56.474: I/(3185): loc are:[Albert Cuypstraat, Albert Cuyp Market, Albania, Alblasserdam, Albert Cuypstraat]
03-30 10:55:56.474: I/(3185): locations are:5
03-30 10:55:56.474: I/(3185): suggestion adapter size:0
为什么会这样? PS:这发生在监听器内部,监听器从 google 地点查询中取回预测。 更改为:
suggestionsAdapter.addAll(locations);
suggestionsAdapter.notifyDataSetChanged();
仍然是同样的结果,有时我得到:
03-30 11:03:25.876: I/(10409): loc are:[Albert Cuypstraat, Albert Cuyp Market, Albert Cuypstraat, AH Haarlemmerdijk, Albert Heijn]
03-30 11:03:25.876: I/(10409): locations are:5
03-30 11:03:25.876: I/(10409): suggestion adapter size:3
我将列表用于 AutoCompleteTextView。这就是问题所在。加载列表时,AutoCompleteTextView 正在过滤,因此它不显示响应的原因。 我使用从此处获取的自定义 autoCompleteTextView 修复了此问题: https://www.codeofaninja.com/2013/12/android-autocompletetextview-custom-arrayadapter-sqlite.html