私はTabLayout
の3つのフラグメントを最初のタブに持っています。条件に応じて2つのフラグメントを切り替える必要がありますが、if文を使用しますが、フラグメントは切り替えられません最初の断片。以下のケースシナリオと何をしているのかのコードスニペットです。再読み込みアクティビティのフラグメント間の再切り替え
MYアプリでは、最初に使用するかどうかを決めることができます。主なアクティビティはランチャーです。メインアクティビティの(TabLayout
と3つのFragment
を含む)ユーザがログインしているかどうかを確認します。
if (user != login) {
load fragment A
}else{
load fragment B
}
私は、ユーザーがログインボタンをクリックした場合、それはユーザーがログインしていると、フラグメントがまだ保持、ログインするユーザーのためのfragementをロードし、アプリを使用しながら、どこかにユーザーがログインできるオプションがあり ログインしていないユーザーの状態、つまりまだ読み込んでいます。フラグメントAですが、アプリ内のすべてのユーザーログインの詳細が表示されます。
この時点では、ユーザーがログインするかしないチェックするSharedPreferencesを使用する必要があり、まだ
@Override
public Fragment getItem(int position) {
Fragment f;
switch (position) {
case NEWS_POST:
if(fbid != null){
f = new NewsFragment();
}else{
f = new NewsAllFragment();
}
を拡張していることを確認してください詳細を提供してください、あなたの問題は –
は、もう少しコードを追加不完全である、あなたは '/追加するために' FragmentManager'を使用している部分が現在のreplace' 「断片」。 'NewsFragment'と' NewsAllFragment'を初期化するところにブレークポイントを追加して、実際に呼び出されているかどうかを確認してください。 – Abbas
ユーザがログインしているかどうかを知りたいかどうかを確認するには、loggedIn論理値またはいくつかのキーを優先的に保存する必要があります。 – Eenvincible