Android 滚动后,ListView再次回到第一个位置

Android 滚动后,ListView再次回到第一个位置,android,Android,大家好,我的应用程序中有listview,但在滚动到底部后,它再次设置为第一个位置 listView = (ListView) findViewById(R.id.list); start = listView.getFirstVisiblePosition(); listView.setSelectionFromTop(start, 0); 在删除以下代码后,它可以正常工作,但在滚动setOnItemClickListener之后,它就不工作了 listView.se

大家好,我的应用程序中有listview,但在滚动到底部后,它再次设置为第一个位置

    listView = (ListView) findViewById(R.id.list);
    start = listView.getFirstVisiblePosition();
    listView.setSelectionFromTop(start, 0);
在删除以下代码后,它可以正常工作,但在滚动setOnItemClickListener之后,它就不工作了

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) {}




    });

如有任何建议,将不胜感激。提前感谢

尝试这种方式,希望这能帮助您解决问题。

listView.setOnScrollListener(new AbsListView.OnScrollListener() {
   @Override
   public void onScrollStateChanged(AbsListView view, int scrollState) {
   }

   @Override
   public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
       int lastInScreen = firstVisibleItem + visibleItemCount;
       if((lastInScreen == totalItemCount)){
          new Handler().postDelayed(new Runnable() {
              @Override
              public void run() {
                    listView.smoothScrollToPosition(0);
              }
           },1000); // change (1000) value as per your requirement like : when list shown last item then after 1 second list scrolled to 0 position
        }
    }
});

您在哪里设置
onItemClickListener
我在onCreate和onResume中尝试过它,在适配器方法的
getView
上设置
onItemClickListener
,在哪里添加此方法?在listView.setOnScrollListener中添加它之后,它给我的错误是-类型为new AbsListView的onScrollChanged(int,int,int,int)方法。OnScrollListener(){}必须重写或实现超类型方法现在listView没有滚动。