1
私は異なるオブジェクトのarraylistsを持っています。オブジェクトはchildren
とsubjects
です。サイズの異なる2人のarraylists
child id
がsubject id
と一致するたびに、それは子が通過したことを意味し、サブジェクトIDはサーバーで削除されます。つまり、その子IDが削除されたsubjects
のリストが表示されます。そして、両方のリストのサイズが異なります。 Subject
リストサイズがchildren
以下です。
これはフラグメントの私のコードです -
ArrayList<Children> children = getChildren(getActivity());
ArrayList<Subjects> subjects = getSubjects(getActivity());
if (children != null && !children.isEmpty()) {
for (Children child : children) {
for (Subjects subject : subjects) {
try {
int pos = adapter.contains(child.getId());
if (pos == -1) {
data = new ChildListAdapter.childData();
data.setChild(child);
adapter.addItem(data);
} else {
data = adapter.getItem(pos);
data.setChild(child);
}
if (subject.getChildId().equalsIgnoreCase(child.getId())) {
data.setSubject(subject);
}
adapter.notifyDataSetChanged();
} catch (Exception e) {
e.getMessage();
}
}
}
}
これはgetView()
内のアダプタで私のコードです -
if (childData().getChild().getId().equals(childData().getSubject().getChildId())) {
holder.status.setText("Passed");
} else {
//I dont enter here :(
holder.status.setText("Failed");
}
問題がされて - a)対象リストのサイズが縮小されますたびに、私はステータスを「Failed
」と表示する必要がありますが、現在は です。elseステートメントを入力しないでください。それはなぜそうですか?
どこgetViewメソッドを呼び出すのですか? –
そのアダプタ内... BaseAdapterを拡張します。 – Monique890
if文の外で 'adapter.notifyDataSetChanged()'を移動します。 – Gianlu