0

4 ページの ViewPager があります。A、B、C、Dとしましょう。

ページ A、B、C は常に同じですが、最後のページは、アプリのステータスに応じてフラグメントを表示する必要があります。ユーザーがログインしていない場合、ページ D はログイン フラグメントを表示する必要があり、ユーザーがログインしている場合、ページ D はプロファイル フラグメントを表示する必要があります。

これを行うには、ユーザーがページ スワイプでログインしているかどうかを制御するフラグをアダプターに追加するだけです。

問題は、ユーザーがログイン ボタンをクリックしたときに、プロファイル フラグメントを表示する必要があることです。ViewPagerIndicatorがページを示すために 4 行のみを表示する必要があるため、ページャーに 5 番目のページを強制的に変更することはできません。

では、ページ D を変更せずに、最後のフラグメントを別のフラグメントに変更するにはどうすればよいでしょうか?

Gingerbread 用にも開発しているため、フラグメント内のフラグメント テクニックを使用できないことに注意してください。

4

1 に答える 1

0

(ログイン アスペクト、プロファイル アスペクト) のフラグメント ページ D、E を含めるようにアーキテクチャを変更します。

FragmentStatePagerAdapter を使用して、表示したページを「削除」できるようにします。

 On a stateChange to 'onNoCurrentUser' ...
    ... remove fragment=profile
    ... add fragment=logon 
    ... call notifyDataSetChanged

 On a stateChange to 'onCurrentUser' ...

    ... remove fragment=logon
    ... add fragment=profile
    ... call notifyDataSetChanged
于 2013-10-10T18:41:32.413 に答える