尝试访问String资源的NullPointerException

时间:2010-11-11 17:23:34

标签: java android xml nullpointerexception android-assets

我有以下/res/values/uris.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="bladder">blahblah</string>
</resources>

我在代码中访问它:

private String bladderUrl= getString(R.string.bladder);

但它返回null。我不确定为什么?

3 个答案:

答案 0 :(得分:21)

我猜你的膀胱就像这样:

public class YourActivity extends Activity {
    private String bladderUrl = getString(R.string.bladder);

    @Override
    public void onCreate(Bundle savedInstanceState) {

...

但是你需要像这样做:

public class YourActivity extends Activity {
    private String bladderUrl;

    @Override
    public void onCreate(Bundle savedInstanceState) {

        bladderUrl = getString(R.string.bladder);
...

答案 1 :(得分:1)

首先要清除它。您必须在strings.xml中包含所有字符串。周期。

Emmanuels的回答是部分正确的。初始化上下文时,必须在onCreate()方法中获取字符串。他的答案只是部分正确,因为他还提到你必须在strings.xml中包含字符串,这是不正确的。

答案 2 :(得分:0)

首先,确保这些值位于文件strings.xml中。

此外,您无法从构造函数访问字符串。应用程序上下文尚未初始化。你应该在onCreate()中完成。

灵光