0

少し論理的な問題に遭遇しましたが、それを修正する方法がわかりません。

ArrayList があり、この ArrayList から、カスタム ArrayList から get().getDay() によって設定されるパラメータ Day を読み取って、オブジェクトを ExpListView にロードしたいと考えています。

これは機能しますが、リストが空であるか、Expandable Listview に複数の childItem がある場合、それらは私の理解を超えて複製されます。

リストは次のような項目をロードします。

createrecipeCollection()

private void createRecipeCollection(){

for (int i = 0; i < rData.size(); i++) {

String weekday = rData.get(i).getDay();

    if (weekday.equals("Monday")) {
         loadChild(rData);
    }
    else if (weekday.equals("Tuesday"))
         loadChild(rData);
    else if (weekday.equals("Wednesday"))
         loadChild(rData);
    else if (weekday.equals("Thursday"))
         loadChild(rData);
    else if (weekday.equals("Friday"))
         loadChild(rData);
    else if (weekday.equals("Saturday"))
          loadChild(rData);
    else if (weekday.equals("Sunday"))
          loadChild(rData);
    else
         loadChild(Empty); 

recipeCollection.put(weekday, childList);
}
}

ロードチャイルド

private void loadChild(ArrayList<ObjectFinder> rData) {
 for (ObjectFinder comparer : rData)
     childList.add(comparer);
}

結果は次のようになります。

バグの画像はこちら

ご覧のとおり、GroupItem の下にたくさんの空の子アイテム (アダプターでは "asd" とラベルを付けました) があり、どうやってそこにたどり着いたのかわかりません - そしてそれらは groupitem ごとに +1 で拡張されているようです空であるか、NPE を引き起こします。

私が得ることができるどんな助けにも感謝します

4

1 に答える 1