0

recreate() はフラグメント アクティビティで解決できません。

mBuilder.setSingleChoiceItems(listItems, -1, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int i) {


                if( i==0 )
                {setLocale("per");
                    recreate();}


                if( i==1 )
                {setLocale("en");
                    recreate();}

            dialog.dismiss();
        }
    });

以下のように、フラグメントアクティビティでこのメソッドを使用します。

public class SettingsFragment extends Fragment implements FragmentArguments {
4

1 に答える 1

1

Fragment には recreate メソッドはありません。アクティビティから継承されたメソッドです。フラグメントからアクティビティを再作成する場合は、呼び出すことができます

getActivity().recreate();

フラグメントだけをリロードする場合は、フラグメントをデタッチしてから、このように再度アタッチできます。

getSupportFragmentManager()
    .beginTransaction()
    .detach(YourFragment.this)
    .attach(YourFragment.this)
    .commit();
于 2019-04-20T11:31:01.217 に答える