Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有一种方法可以重新创建;“家长”;从静态类到静态类?_Java_Android_Fragment_Preference_Recreate - Fatal编程技术网

Java 有没有一种方法可以重新创建;“家长”;从静态类到静态类?

Java 有没有一种方法可以重新创建;“家长”;从静态类到静态类?,java,android,fragment,preference,recreate,Java,Android,Fragment,Preference,Recreate,我正在开发一个应用程序,在这个应用程序中,我试图通过首选项屏幕和首选项列表更改应用程序中的语言。我能够倾听选择,但我似乎无法重新创建“家长”类。在任何地方,我都通过在onCreate(…)中设置语言选择来更改语言。但是,您将如何更新当前活动中的语言?我在静态课堂上听到语言选择的变化,如下所示: public class PrefActivity extends PreferenceActivity { @Override public onCreate(Bundle savedInst

我正在开发一个应用程序,在这个应用程序中,我试图通过首选项屏幕和首选项列表更改应用程序中的语言。我能够倾听选择,但我似乎无法重新创建“家长”类。在任何地方,我都通过在onCreate(…)中设置语言选择来更改语言。但是,您将如何更新当前活动中的语言?我在静态课堂上听到语言选择的变化,如下所示:

public class PrefActivity extends PreferenceActivity {

  @Override
  public onCreate(Bundle savedInstanceState) {
    //Code
  }
  
  public static class PreferenceFrag extends PreferenceFragment {
    //onCreate method

    .... SharedPreferences.OnSharedPreferenceChangeListener() {
       @Override
       public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) {
         //Reads the changes and sets new locale
         //How would you make the changes come instant to the R.xml.Preference
    }
  }
}

我想我是通过以下方法找到答案的:

getActivity().recreate();

请注意,如果您有一个静态的内部类,那么它与外部类没有特殊的关系,因此它只是一个名称空间。因此,您的内部类需要获取对外部类(当前活动)实例的引用。我对Android开发不太熟悉,但考虑一下内部片段类是否需要是静态的。让它成为一个内部类,即删除
静态的
。NB
static inner
在@Thomas@一词中是矛盾的。@marqueisoflorne你是对的,我的错。我用“内部”作为“在另一个类中”,但正确的术语应该是“静态嵌套”-“内部”应该是“非静态嵌套”()也许我问错了问题,但似乎我必须是静态的,因为它实现了PreferenceFragment。但是我想我通过使用
code
getActivity().reacreate()找到了解决方案;