2016-05-10 6 views
-1

をリフレッシュし得ていない、それはJoshepラコ(JoeRock11)私は問題を抱えているxamarinアンドロイドviewpagerフラグメントは、私はシンプルなアプリを作成するには、このサンプルを使用してい

https://github.com/JoeRock11/Xamarin_DesignLibrary

によって作られて、私はこのサンプルで働いていましたタブ付きのアプリケーションを作成すると、アプリケーションがfragment1とfragment2だけを読み込み、フラグメント3は読み込まれていないときに異常な動作が検出されました(loadとは、oncreateメソッドとoncreateviewメソッドがトリガーされることを意味します)。 フラグメント3をロードするには、明示的にクリックする必要があります。すべてのフラグメントがロードされると思いますが、その理由はわかりません。なぜこれが起こるのか知りたいのですが。

また、これは私の主な問題であり、フラグメントタブをクリックするたびに、このフラグメントを再ロードして、メモリ上にインスタンス化されたフラグメントが表示されるようにします私はそのデータをリフレッシュする必要があるので、私はそれを再度ロードする必要があります、今はランダムにリロードだけです。あなたや誰かが私を助けてくれますか?

ありがとうございます。 pd:英語にすみません、私の母国語ではありません。

+0

いくつかのコードや実行可能な再現可能な例がありますか? – svarog

答えて

0

私はこれがViewPagerコントロールのOff Screen Page Limitによって制御されていると信じています。この値のデフォルトは1です。これは、基本的には、一度に読み込むページの数が2であること、現在表示されているページ数、画面外のページ数を意味します。

この値は、ViewPagerOffscreenPageLimitプロパティを使用して簡単に調整できます。 http://developer.android.com/reference/android/support/v4/view/ViewPager.html#setOffscreenPageLimit(int)


あなたは彼らが画面に上にスライドされると、すべてのFragmentsは、データを再ロードする場合は、各FragmentUserVisibleHintを無効にしてからFragmentが表示されているかどうかを確認し、データを再ロードするためにいくつかのコードを実行するためにチェックすることができます

public override bool UserVisibleHint { 
    get { 
      return base.UserVisibleHint; 
     } 
    set { 
      base.UserVisibleHint = value; 
      if (value) { 
      //Fragment is visible, reload data 
      } 
    } 
} 

http://developer.android.com/reference/android/support/v4/app/Fragment.html#setUserVisibleHint(boolean)


:その断片について

ViewPagerのフラグメントを更新するもう1つのアプローチは、ここに概説されています:Update ViewPager dynamically?

関連する問題