2011-02-10 3 views
0

У меня есть деятельность, которая простирается ListActivity и implementsOnScrollListener:расширение ListActivity не выполняет OnClick слушателя

public class RecentItemsList extends GenericListActivity implements OnScrollListener 

и в этом классе я использую класс, который расширяет ArrayAdapter:

public class RecentItemAdapter extends ArrayAdapter<Item> 

Я пытаясь связать обратный вызов, когда пользователь получает один из элементов в списке, но обратный вызов не срабатывает. Вот мой код:

  setListAdapter(adapter); 
     ListView lv = getListView(); 
     lv.setOnScrollListener(RecentItemsList.this); 
     lv.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
       // do some stuff 
      } 
     }); 

Но событие OnItemClick никогда не уволят, но события прокрутки огня правильно. Есть идеи?

ответ

3

Попробуйте перекрывая метод onListItemClick вашего ListActivity вместо:

@Override 
public void onListItemClick(ListView parent, View v, int position, long id) 
{ 
//... 
} 
+0

Забыл упомянуть, что я также пробовал это, но не работал. Имеет ли значение, что моя ListActivity является частью TabHost? –

0

У нас была аналогичная проблема, и решить ее путем переключения вида деятельности мы простирающуюся. Я думаю, что мы использовали ListActivity и слушаем onListItemClick.

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