2016-11-19 5 views
0

私のプロジェクトにはViewPagerがあり、データベースからロードしている記事がいくつか含まれています。ViewPagerのフラグメントをスワイプした後、垂直スクロールをリセットするにはどうすればいいですか?

各記事の長さによると、ユーザーはフラグメントレイアウト内のScrollViewをスクロールしてそれを読む必要があります。

ユーザーが次のフラグメント(記事)にスワイプした後、前のフラグメント(記事)に戻ると、記事は最後の垂直スクロール位置に表示されます。私は、フラグメントがスワイプされたときに、垂直方向のスクロール位置を先頭に戻す必要があります。

私はがユーザーがスワイプを開始するとスクロールをリセットするので、私は失敗しました。(前の)フラグメントがスワイプした後に発生する必要があります。

私はそれをどのように行うことができますか?あなたのフラグメントで

+0

uがフラグメント内の位置をリセットする必要があります。 scrolltoPosition(1)を追加しようとします。あなたの断片の中に。 –

+0

@Divyeshその方法では? 'onCreateView'? – Pourbahrami

+0

あなたのfragmentコードを投稿してください。 –

答えて

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メソッドで定義します –

関連する問題