私のアプリケーションでは、2 次元配列が必要です。私がそれを定義すると、次のように問題なく動作します。
static final String arrGroupelements[] = {"India", "Australia", "England", "South Africa"};
static final String arrChildelements[][] = { {"Sachin Tendulkar", "Raina", "Dhoni", "Yuvi" },
{"Ponting", "Adam Gilchrist", "Michael Clarke"},
{"Andrew Strauss", "kevin Peterson", "Nasser Hussain"},
{"Graeme Smith", "AB de villiers", "Jacques Kallis"} };
ただし、私のコードには 2 つのリストがあります。最初は入手できるレシピ名のリストです。
LinkedList<String> recipeList = dbShoppingHandler.getAllRecipeNames();
String arrGroupelements[] = new String[recipeList.size()];
for(int i=0; i<recipeList.size(); i++) {
arrGroupelements[i] = recipeList.get(i);
}
私の2番目のリストは成分のリストです。材料のリストを取得するには、レシピ名を設定する必要があり、リストを取得できます。しかし、このリストを二次元にする方法がわかりません。私のコードは次のようなものです:
String arrChildelements[][] = new String[recipeList.size()][20];
for(int i=0; i<recipeList.size(); i++) {
LinkedList<String> ingredient = dbShoppingHandler.getIngredientsOfRecipeName(recipeList.get(i));
for(int j=0; j<ingredient.size(); j++) {
arrChildelements[i][j] = ingredient.get(j);
}
}
悪いことに、2 番目の次元に数値 (私の場合は 20) を設定する必要があります。5 つのアイテムを持つリストに対してこれを行うと、15 個の " " 要素があり、20 個を超えるアイテムを持つリストはコードによって無視されます。
最初の次元は修正されていますが、成分の数に基づいて 2 番目の次元を調整する必要があります。
任意の提案をいただければ幸いです。ありがとう。