私はオートコンプリートアダプタを持っているが、私はこの警告取得しています: 未確認キャスト:「java.util.ArrayListの」未確認のキャストprblem
に「java.lang.Object上位を」これは私のフィルタのコードです私はそれを取得しています。ここで
private final Filter nameFilter = new Filter() {
@Override
public CharSequence convertResultToString(Object resultValue) {
return ((UserNameAndPic) resultValue).getUserName();
}
@Override
protected FilterResults performFiltering(CharSequence constraint) {
if (constraint != null) {
suggestions.clear();
for (UserNameAndPic people : tempItems) {
if (people.getUserName().toLowerCase().contains(constraint.toString().toLowerCase())) {
suggestions.add(people);
}
}
FilterResults filterResults = new FilterResults();
filterResults.values = suggestions;
filterResults.count = suggestions.size();
return filterResults;
} else {
return new FilterResults();
}
}
@Override
protected void publishResults(CharSequence constraint, Filter.FilterResults results) {
List<UserNameAndPic> filterList = (List<UserNameAndPic>) results.values;
if (results.count > 0) {
clear();
for (UserNameAndPic people : filterList) {
add(people);
notifyDataSetChanged();
}
}
}
};
を、それは回線に問題ました:私はその単なる警告を
List<UserNameAndPic> filterList = (ArrayList<UserNameAndPic>) results.values;
を知っていると私はそれを抑制することができますが、私は抑制鋳造を回避しないようにしたいですワットarning。 誰も何をすべきか分かっていますか?
はエラーではないことを...私は確信している
この質問はとにかく数百万回に答えてきたが、警告。ソースコードのコンパイルを妨げるものではありません。 – Jesper
これは 'Filter.FilterResults results'であり、キャストを必要としません。しかし、私はその特定のFilterResultsを知らない。 –
forループを置き換える 'addAll'が存在するかもしれません。しかしそれは単にコードを美しくすることです。 –