2012-05-01 3 views
0

Если у меня есть список, заполняемый веб-службами, а элементы, добавленные в каждую строку, имеют уникальный идентификатор, хранящийся в списке массивов, который использует хэш-карту для хранения данных, что было бы самым простым способом для получения идентификатора данных, который был нажат в строке. Я использую базовый адаптер в своем списке,Получение идентификатора строки списка в виде списка

Любая помощь будет принята с благодарностью.

ответ

1
lv.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, 
       long id) { 
      // TODO Auto-generated method stub 
      Toast.makeText(getApplicationContext(),String.valueOf(position), Toast.LENGTH_SHORT).show(); 
     } 
    }); 

является Положение пункта в списке.

+0

хорошо я знаю, как получить позицию, но я не знаю, как сравнить tht с позицией в списке массивов tht, я использую –

+0

Что вы хотите сделать? Вы хотите сравнить значение Arraylist со значением ListView в определенном месте ??? –

+0

Да, например, если у него есть уникальный json-идентификатор, назначенный ему, я хочу, чтобы он извлекал это из arraylist, когда я нажимаю на элемент списка –

2

набор на элемент click listener на listview. он вернет позицию щелкнутого элемента в адаптере (эквивалентно позиции в списке массивов). вы можете получить идентификатор, используя это.

+0

да, я знаю, что много, но я новичок в кодировании поэтому я не KNW HW для извлечения данных из этого постиона из списка массива –

+0

arraylist.get (индекс); индекса является «позицией», что вы получаете на по щелчку ArrayList является ArrayList, с которым вы наполнением списка – gandharva

+0

'lv.setOnItemClickListener (новый OnItemClickListener() { @Override общественного недействительный onItemClick (AdapterView родителя, вид вид, положение INT, длинный ID) {// TODO автоматическая генерация метод заглушки Toast.makeText (getApplicationContext(), lv.getAdapter.getItem (положение), Toast.LENGTH_SHORT) .show();} }); ' – gandharva

0

Если вы используете функцию adapter.getItem(position), вы сможете получить элемент, хранящийся в ListView в этой конкретной позиции.

обновление: это из курса в третьем параметре setOnItemClickListener

+0

». Я знаю, как получить позицию, но я не знаю, как сравнить tht с позицией в списке массивов tht. Я использую –

+0

@AalokSharma, 'getItem' будет вы получите элемент в списке в определенной позиции. попробуйте взглянуть на ответ Кришнаканта Далала – thepoosh

1

использование этот метод listView.getItemAtPosition (позиция). Он получил позицию, которую вы можете использовать

listView.setOnItemClickListener(new OnItemClickListener() { 

    public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
     // Get item at position like this: 
     // listView.getItemAtPosition(position)); 
    } 
}); 
Смежные вопросы