親と子、さらにはサブの子を含む拡張可能なリストビューを表示したいと思います。これらのデータはサーバーからアクセスされます。データはJSONデータとして返すことができます。
その親に関連付けられている親と子にアクセスしたい。子供にはサブチャイルドもいる可能性があります。
Ex:
Name Parent Level categoryId
Audio 0 1 101
Video 0 1 102
songs 101 2 201
data 101 2 202
myhost 201 3 301
HD 102 2 401
TV 401 3 500
上記の例は、現在利用可能なデータを示しています。
私のコードが添付されています
try {
res1= httpclient1.execute(httppost1);
responseBodys1 =EntityUtils.toString(res1.getEntity());
JSONObject jsObject = new JSONObject(responseBodys1);
JSONArray demo= jsObject.getJSONArray("categories");
System.out.println("demo=="+demo.length());
ArrayList<String> map = new ArrayList<String>();
childs.add(new ArrayList<ArrayList<String>>());
ArrayList<Integer> map1 = new ArrayList<Integer>();
ArrayList<Integer> map3 = new ArrayList<Integer>();
for(int i=0;i<demo.length();i++)
{
JSONObject movie = demo.getJSONObject(i);
ctName = movie.getString("ctName");
ctParent= movie.getInt("ctParent");
int ctLevel = movie.getInt("ctLevel");
ctCategoryId=movie.getInt("ctCategoryId");
map.add(ctName);
map1.add(ctParent);
// map1.add(ctLevel);
map3.add(ctCategoryId);
System.out.println("Map1-===>"+map);
System.out.println("Map3-===>"+map3);
if(ctParent==0)
{
groups.add(ctName);
}
if(ctParent!=0)
{
int ctP= movie.getInt("ctParent");
System.out.println("ctp-->"+ctP);
for(int j=0;j<demo.length();j++)
{
if(ctP==ctCategoryId)
{
System.out.println("matched--"+ctP+"=="+ctCategoryId);
childs.add(new ArrayList<ArrayList<String>>());
childs.get(i).add(new ArrayList<String>());
childs.get(i).get(j).add(ctName);
}
}
}
その対応する親に子を配置したいと思います。上記のコードでは、親のみが返されます。子は表示されず、それぞれの親の下にも表示されません。
カテゴリIDを親と比較し、すべてのデータを相互に配置したいと思います。最後に、ExpandableListクラスに戻ります。
だから誰もが私を助けてくれます。この操作の実行方法。???????????