0
私はjsonデータを解析し、それをlistviewにCHOICE_MODE_MULTIPLEで表示します。私は自分のケースでハッシュマップのキーを取得しようとしていますが、私はその値を取得することしかできません。ここでAndroidは、リストビュー内のArraylistのキーマップを取得します。CHOICE_MODE_MULTIPLE
JSONデータ
57->Steak Doness
58->Size
59->Cooking Method
63->Coldness
はlogcatでコーディング
String option_data = jsonObject.getString("option_data");
JSONObject jsonObject1 = new JSONObject(option_data);
Iterator<String> iterator = jsonObject1.keys();
ArrayList arrayList = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = null;
while (iterator.hasNext()) {
String id = iterator.next();
String name = jsonObject1.getString(id);
map = new HashMap<String, String>();
map.put("id", id);
map.put("name", name);
arrayList.add(name);
}
ArrayAdapter adapter = new ArrayAdapter<String>(item_add.this, android.R.layout.simple_list_item_multiple_choice, arrayList);
final ListView listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(adapter);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
Button button = (Button) findViewById(R.id.submit);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String selected = "";
SparseBooleanArray sparseBooleanArray = listView.getCheckedItemPositions();
for (int i = 0; i < listView.getCount(); i++) {
if (sparseBooleanArray.get(i)) {
selected += listView.getItemAtPosition(i).toString() + ",";
}
}
Log.d("selected", selected);
}
});
あり、それは私がワンどのような、しかし
D/selected: Steak Doness,Size,
を示し取得するキーは、ボタンをクリックすると "id"を意味するハッシュマップのキーです。誰でもその方法を知っていますか?
THXの値を見つけるために、以下の方法を使用しますが、それは動作しません。 logcatは何も表示しませんでした。それに応じてコーディングを変更できますか? – gosulove
ボタンをクリックしたときとまったく同じコードを試してみましたか?それが動作しているかどうかを確認してください。 onClick内にコメントコードを入れて、自分のコードを貼り付けてください。 Log.dで私の答えを編集しました – Stallion
はい、ボタンをクリックしてテストしました。 Log.dも試しました。 – gosulove