2016-11-19 98 views
0

我的項目中有一個ViewPager,其中包含一些從數據庫加載的文章。如何重置ViewPager片段刷新後的垂直滾動?

根據每篇文章的長度,用戶必須向下滾動ScrollView內部片段佈局才能閱讀該文章。

當用戶滑動到下一個片段(文章),然後回到前一個片段(文章),它顯示了文章在最後一個垂直滾動位置,但是當一個片斷被刷出時,我需要將垂直滾動位置重置爲頂部。

我試過OnPageChangeListener()方法來處理它,但是我失敗了,因爲例如onPageScrolled在用戶開始刷新時重置滾動,而我需要它在(先前的)片段刷出之後發生。

我該怎麼辦?

+0

u需要重置的片段位置。嘗試添加scrolltoPosition(1);在你的片段內。 –

+0

@Divyesh在哪個方法? 'onCreateView'? – Pourbahrami

+0

張貼您的購物代碼。在你的'onTabSelected'方法中設置' –

回答

0

覆蓋setUserVisibleHint方法在您的片段:

@Override 
public void setUserVisibleHint(boolean isVisibleToUser) { 
super.setUserVisibleHint(isVisibleToUser); 
    if (isVisibleToUser && isResumed()) { 
     scrollview.smoothScrollTo(0,0); 
    } 
} 
+0

如何定義'scrollview'? 'ScrollView scrollview =(ScrollView)findViewById(R.id.articleScrollView);'在方法內部不起作用! – Pourbahrami

+0

在onCreate方法中定義它,就像其他視圖一樣 –