无法在片段中解析方法'recreate()'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在片段中解析方法'recreate()'相关的知识,希望对你有一定的参考价值。

无法在片段活动中解析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 {
答案

片段中没有重新创建方法。它是一个继承自Activity的方法。如果要从片段重新创建活动,可以调用

getActivity().recreate();

如果你只想重新加载片段,你可以分离片段,然后像这样再次附加它。

getSupportFragmentManager()
    .beginTransaction()
    .detach(YourFragment.this)
    .attach(YourFragment.this)
    .commit();

以上是关于无法在片段中解析方法'recreate()'的主要内容,如果未能解决你的问题,请参考以下文章

当我在导航抽屉中使用带有发送片段的 EditText 时,无法解析片段中的方法“findViewById”? [复制]

Fragment Recreation 导致 Observer 使用 Androidx Navigation 库触发 onChanged()

无法解析片段中的 findViewById [重复]

可以给 recreate() 一个过渡动画吗?

Activity中recreate方法的应用

如何在片段类而不是活动类中使用底页?