6

我有以下 /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。我不确定为什么?

4

3 回答 3

22

我猜你是这样放置膀胱Url smth的:

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);
...
于 2010-11-11T17:57:05.253 回答
1

首先要弄清楚这一点。您不必将所有字符串都放在strings.xml. 时期。

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

于 2010-11-11T18:02:53.103 回答
0

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

此外,您不能从构造函数访问字符串。应用程序上下文尚未初始化。您应该在 onCreate() 中执行此操作。

伊曼纽尔

于 2010-11-11T17:48:14.470 回答