Почему элементы ListView становятся недоступными после прокрутки - PullRequest
3 голосов
/ 17 августа 2011

Я создал пользовательский ListView с ImageView и TextViews, и все работало нормально, пока я не попытался реализовать onItemClick, который пока показывает только тост.

Проблема возникает, когда я прокручиваю вниз ListView: он не получает никаких кликов.

Забавно, что когда я использую клавиатуру для перемещения от предмета к предмету, она работает, и когда я нажимаю клавишу ввода, отображается Toast

Это код, который я использовал для onItemClick слушателя.

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    RestaurantReservationBean clickedItem = resultArray.get(position);

    Toast.makeText(this, clickedItem.getName()+", "+clickedItem.getCost(), 1000).show();
}

1 Ответ

9 голосов
/ 18 августа 2011

Я думаю, что решил эту проблему: после просмотра некоторой документации я понял, что эта проблема возникает из текстовых представлений и изображений в верхней части каждой строки, которые блокируют выбранный слушатель onitemselected.поэтому я попытался обновить представление списка после прокрутки, и он работал просто отлично.вот что я сделал, надеясь, что это поможет тем, кто может столкнуться с этой проблемой

listView.setOnScrollListener(new OnScrollListener() {
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            if ( scrollState == OnScrollListener.SCROLL_STATE_IDLE )
            {
              listView.invalidateViews();
            }

        }

        @Override
        public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {}
    });
...