JSONファイルを読み込んで"name"を取得してフィールドボタンと空のLinearLayoutを生成します。
フィールドボタンを押すと"item"内の配列から番号を取得してフィールドボタンの下に
アイテムスイッチを配置したいと思っているのですが、自動生成したクリックリスナーから
クリックしたフィールドボタンのLinearLayoutのインスタンスを取得する方法がわかりません
最終的にたくさんのフィールド内に内包されているアイテム番号のListを取得できればいいので
他にいい方法があれば教えていただければありがたいです。
JSONファイル
{
"001":{
"name":"フィールド1",
"item":["0000","0001","0002","0003"]}
"002":{
"name":"フィールド2",
"item":["0004","0005","0006","0007"]}
}
ソースコード
LinearLayout mainLay = findViewById(R.id.tesLay); LinearLayout newLay = new LinearLayout(this); File file = new File(getFilesDir(),"data/field.txt"); JSONObject fileJson = new JSONObject(Info.StringFile(file)); for(int i = 0;i < fileJson.length(); i++){ JSONObject ob = fileJson.getJSONObject(String.format("%03d",i+1)); Button bt = new Button(this); bt.setText(ob.getString("name")); bt.setOnClickListener(new View.OnClickListener(){ public void onClick(View View){ } }); mainLay.addView(bt); mainLay.addView(newLay); }
> 空のLinearLayout
といいますと newLay しか見当たりませんが, そのまま使えば良いのではないでしょうか.
回答1件
あなたの回答
tips
プレビュー