У меня есть собственный вид списка, в котором у меня есть textview
и ImageView
. Я установил focusable= false
как для textView, так и для ImageView. Для просмотра списка я использую адаптер пользовательского массива, который расширяет ArrayAdapter<ApplicationInfo>
. Проблема в том, что элементы списка не запускают прослушиватель кликов для элементов, независимо от того, что. Я знаю, что очень сложно не понять эту проблему, но я потратил почти 2 часа на это, но не мог решить. Вот код:Пользовательский просмотр списка не отвечает на itemClickListener
В onCreate()
list = getListView();
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
Toast.makeText(MyApp.this, "hello", Toast.LENGTH_SHORT).show();
}
});
Я попробовал так же, но все-таки я не могу получить щелчки.
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
Toast.makeText(this, "dfdsf",Toast.LENGTH_SHORT).show();
}
Возможно, это может быть причиной этой странной проблемы? Я работал с CustomListViews в прошлом, но никогда не сталкивался с этой проблемой.
list.setAdapter(new CustomListAdapter(MyAppsList.this, appList, pManager));
Вы можете попробовать добавить 'View.OnClickListener' в метод' getView' вашего адаптера. – Phil
Что такое метод getView()? –
попробуйте сделать изображениеView и TextView сфокусированным true, что может помочь при запуске событий и передачи между просмотром менеджера и их соответствующими родителями зигзагообразно. делая его ложным, возможно, просто остановит поток управления .. и да, как beworker упомянул то, что находится в getView() –