Java 如何从R.string.xxx设置类属性默认值

Java 如何从R.string.xxx设置类属性默认值,java,android,Java,Android,我有一个单例片段类。我想为属性text设置一个默认值,该文本来自R.string.testText class TestFragment { private String text; public static TestFragment newInstance() { TestFragment fragment = new TestFragment(); return fragment; } } 因此,如果我使用: private Str

我有一个单例片段类。我想为属性
text
设置一个默认值,该文本来自
R.string.testText

class TestFragment {
  private String text;
  public static TestFragment newInstance() {
        TestFragment fragment = new TestFragment();
        return fragment;
    }
}
因此,如果我使用:

    private String text =     getResources().getString(R.string.testText)
我将得到一个错误:

java.lang.IllegalStateException: Fragment not attached to Activity
如何做到这一点?谢谢

出于某种原因,我需要在某些部分更改此
文本
,其中大多数部分都有默认值。因此,我不想在
onCreateView
中配置此值

TestFragment f1 = TestFragment.newInstance();
f1.setText = "default"
有些不是默认值

TestFragment f2 = TestFragment.newInstance();
f2.setText = "222"
所以我想问的是,是否可以从R文件中设置一个默认值


编辑
我认为我在这里理解单例模式是错误的。我在这里使用的只是静态方法。

您可以在新的newInstance()方法中添加参数上下文。 例如:

public static TestFragment newInstance(Context context) {
    if (fragment = null) {
        fragment = new TestFragment();
        text = context.getResources().getString(R.string.voice_search_label);
    }
    return fragment;
}

您应该在该片段的“onCreateView”或“onActivityCreated”中设置文本。因为在此之前,片段没有附加到任何活动。创建一个从YourFragment返回实例的单例模式,其中YourFragment不是单例类。当然,YorFragment扩展了活动。@ThrashBean您是对的。我想我误解了辛格尔顿。这里我的问题只是一个静态的方法。非常感谢。