-1
在我问之前,我已经看过this post,并尝试了所有建议都无济于事。我的问题是,我可以轻松设置使用如何从使用Android SDK的Java的string.xml中获取字符串?
getResources().getString(R.string.example)
的onCreate方法中的字符串,但我想设置使用相同的getResources()方法的公共静态最终的String string.xml值。但是,当我这样做时,我得到一个“无法从类型ContextThemeWrapper”的非静态方法getResources()的静态引用“。所以,我想实例ContextThemeWrapper也
this.getResources().getString(R.string.example)
这既清除错误,但两者的碰撞与一个NullPointerException。任何简单地从资源设置一个字符串的解决方案将不胜感激。
到目前为止,我有这样的:
public class MainActivity extends Activity {
ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper();
public final String CYPHER = contextThemeWrapper.getResources().getString(R.string.cypher_txt);
public static final int LAYERS = 7;
public static final int FLIP = 3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String appName = getResources().getString(R.string.app_name);
Toast.makeText(this, "Welcome to " + appName, Toast.LENGTH_SHORT).show();
}
@TheFreddyKilo - 这是否对你的工作? – EJK 2014-12-02 03:08:49
应该是'MyApp extends Application',唯一不起作用的是在字符串有多个语言版本时切换设备区域设置,因为它只加载一次,但从不更新。 – zapl 2014-12-02 03:31:12
那么这种方法是否解决了您原先提出的问题?处理多种语言是一个不同的问题,这不是你的问题。 – EJK 2014-12-02 04:03:31