0
両方のarraylistsの最初の要素が同じでも結果が得られません。結果が一致するとチェックボックスをチェックします。私はrecyclerviewで実装しましたarraylistsの要素を比較したいと思いますが、どちらもサイズが異なります。私は解決策をオンラインで見つけ出し、次のように実装しました。異なるサイズの2人のarraylistの要素をアンドロイドで比較する
List<String> list1 = new ArrayList<>();
for (int i = 0; i < data.size(); i++) {
list1.add(data.get(i).getChannel_names());
}
List<String> list2 = new ArrayList<>();
for (int i = 0; i < listNewsChannelsSelected.size(); i++) {
list2.add(listNewsChannelsSelected.get(i).getSelectedChannelsFromApi());
}
private boolean equalLists(List<String> one, List<String> two) {
if (one == null && two == null) {
return false;
}
if (one != null && two == null) {
return false;
}
one = new ArrayList<>(one);
two = new ArrayList<>(two);
Collections.sort(one);
Collections.sort(two);
return one.equals(two);
}
if (equalLists(list1,list2)) {
holder.mCheckBox.setChecked(true);
} else {
holder.mCheckBox.setChecked(false);
}
ComparerとComparatorの両方を実装している場合は、詳細を投稿してください。あなたがそれらを実装する必要がない場合 –
@NirajSanghaniを持っていない。なぜequlaListsメソッドが既に比較しているのかを比較する理由です。 –
私は事物をしていますが、質問に関しては明らかではありません。 –