1
我已經實現了具有您在許多應用程序,在用戶滾動至底部,並加載更多看到的功能一個ListView,即OnScrollListener是這樣的:滾動一個ListView頂端,沒有任何屏幕閃爍
public class OnScrolledToEndListener implements AbsListView.OnScrollListener
{
private int prevLast;
@Override
public void onScrollStateChanged(AbsListView absListView, int i)
{
}
@Override
public void onScroll(AbsListView absListView, int first, int visible, int total)
{
int last = first + visible;
if (last == total)
{
if (prevLast != last)
{
prevLast = last;
onScrolledToEnd();
}
}
}
public void onScrolledToEnd()
{
}
}
現在的問題是,當用戶滾動到列表的底部,並點擊我的應用程序中的刷新按鈕時,我希望它重新開始在列表的頂部,因爲如果它停留在列表的底部,那麼滾動監聽器會立即觸發。我發現解決這個最好的辦法是做執行刷新前執行以下操作:
mListView.setSelection(0);
mListView.post(
new Runnable()
{
@Override
public void run()
{
mListView.setVisibility(View.GONE);
mLoadingLayout.setVisibility(View.VISIBLE); //this is basically a progressbar
// do the refresh
}
}
);
但有輕微的閃爍,當列表滾動到頂部。任何想法如何使它看起來更好?