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