2014-02-10 3 views
1

У меня есть активность android с listView. Когда я нажимаю элемент из списка Я хочу напечатать содержание того, что я нажал, так что я пишу это:error in get result of listview getSelectedItem()

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> adapter, View view, int position, 
        long id) { 
       // TODO Auto-generated method stub 
       if(listView.getSelectedItem()!=null) 
       { 
        String item = listView.getSelectedItem().toString(); 
        Log.d("LIST ITEM", item); 
       } 




      } 
     }); 

Но ничего не printed..why ??

+1

использование 'position' вместо' listView.getSelectedItem() ' –

ответ

3

Изменить

if(listView.getSelectedItem()!=null) { 
    String item = listView.getSelectedItem().toString(); 
    Log.d("LIST ITEM", item); 
} 

с

String item = adapter.getItemAtPosition(position); 
Log.d("LIST ITEM", item); 
+1

спасибо, теперь код нормально :) – user2550055

+0

вы можете – Blackbelt

+0

другой question..the элемент, который я напечатать это: ID: [«1»] , Если я хочу получить только «1», как я могу извлечь из строкового элемента? – user2550055

0

+1 для @shayanpourvatan.

В моем случае listView.getSelectedItem() ==null и .

Единственный способ, которым я могу это ((ListView) parent).getAdapter().getItem(position)

кажется select и click являются две разные вещи в Android.