0

Android でチェックリスト タイプのアプリを作成しています。このアプリでは、リスト ビューに項目を入力し、横にチェック ボックスを配置しています。ユーザーがアイテムをクリックすると、テキストを打ち消し、関連する列のデータベース内のエントリを更新する必要があります。このため、名前と値のペアを TreeMap に格納しています。Name はデータベースの列名に対応し、Value はその列名の値に対応します。私は以下を使用してこれを達成しました:

if ((c.getString(c.getColumnIndexOrThrow("Field130"))).length() > 3) {
                    String D11 = c.getString(c.getColumnIndexOrThrow("Field130"));
                    map.put("Field130", D11); 
                }

ここで、対応するリストビューの 1 つのテキストビューに名前を表示し、2 番目のテキストビューに値を表示したいと考えています。私は次のことを試しました:

ArrayList<TreeMap<String, String>> mylist = new ArrayList<TreeMap<String, String>>();
            mylist.add(map);
            ListView list = (ListView) findViewById(R.id.list);
            ArrayList<String> list1 = new ArrayList<String>(map.values());
            dataAdapter = new ArrayAdapter<String>(this,R.layout.chklistlayout,R.id.textView1, list1);
            list.setAdapter(dataAdapter);

ただし、値のみが表示されるため、目的の結果を得ることができません。TreeMap をリストビューに直接マップする方法はありませんか? コード全体を作り直すことを意味する場合でも、より堅牢なアイデアを受け入れます。

4

1 に答える 1