为什么ListView项目在滚动后变得不可点击



我用ImageViewTextViews创建了一个自定义的ListView,并且一切都工作得很好,直到我试图实现onItemClick,目前只显示一个Toast。

当我向下滚动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();
}

我想我解决了这个问题:经过一些文档后,我发现这个问题来自每行顶部的textviews和imagesview,它阻止了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) {}
    });

相关内容

  • 没有找到相关文章

最新更新