2012-04-04 4 views
0

У меня есть ListActivity, в котором я использовал SimpleAdapter для создания списка, который имеет 2 поля. Пара значений хранится с использованием карты, а список - ArrayList. У меня есть onItemClickListener для этого. При выборе записи списка я получаю пару, то есть 2 значения. Мне нужно получить только 1 из этих значений.Получите одно поле из многоколоночного ListView с помощью SimpleAdapter

Например, если элемент списка «Джон», «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(); 
      } 

     }); 

ответ

1

Вы должны поймать содержание android.R.id.text1 или android.R.id.text2. Итак, в вашем onItemClick(...) вам нужно будет:

TextView v = (TextView) findViewById (R.id.text1);
TextView v1 = (TextView) findViewById (R.id.text2);
String content1 = v.getText(). ToString();
String content2 = v2.getText(). ToString();

и вы можете управлять ими, как вы хотите, даже в пределах Тост: (. GetApplicationContext(), v.getText() ToString(), Toast.LENGTH_LONG)

Toast.makeText .show();

+1

Спасибо. Работала красиво. Просто, поскольку я использовал предопределенный макет simple_list_item_2, он должен быть 'TextView v = (TextView) findViewById (android.R.id.text1); TextView v1 = (TextView) findViewById (android.R.id.text1); ' – Alabhya

+0

Вы правы (+1). Я рад быть полезным ... – Ant4res

Смежные вопросы