SimpleAdapterを使用して2つのフィールドを持つListActivityを持っています。値のペアはMapを使用して格納され、リストはArrayListです。 私はこれのためにonItemClickListenerを持っています。リスト項目を選択すると、その対、すなわち2つの値が得られる。私はそれらの値の1つだけを取得する必要があります。SimpleAdapterを使用して複数列のListViewから1つのフィールドを取得します。
たとえば、リストアイテムが "John"、 "123"の場合。リストからエントリを選択した後に文字列に "123"を保存したい 助けが必要ですか?
は、ここでは、コードスニペットです:
ListView lv = getListView();
ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
list.add(putData(scanned_name, scanned_addr));
String[] from = { "name", "address" };
int[] to = { android.R.id.text1, android.R.id.text2 };
SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(), list,
android.R.layout.simple_list_item_2, from, to);
setListAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
Toast.makeText(getApplicationContext(),
parent.getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show();
}
});
ありがとうございます。うまくいった。 あらかじめ定義されたレイアウトsimple_list_item_2を使ったので、それは であるはずです。 'TextView v =(TextView)findViewById(android.R.id.text1); TextView v1 =(TextView)findViewById(android.R.id.text1); ' – Alabhya
あなたは正しいです(+1)。私は助けになってうれしいです... – Ant4res