NullPointerException trying to access a String res

2019-02-23 02:15发布

I have the following /res/values/uris.xml

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

I am accessing it in code:

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

But it is returning null. I'm not sure why?

3条回答
劫难
2楼-- · 2019-02-23 02:23

First, make sure these values are in the file strings.xml.

Also, you can't access the strings from the constructor. The application context is not yet initialized. You should do it in onCreate().

Emmanuel

查看更多
该账号已被封号
3楼-- · 2019-02-23 02:26

First of all to clear that up. You don't have to have all your strings in strings.xml. Period.

Emmanuels answer is partially right. You have to get the string inside your onCreate() method when the context is initialized. His answer is only partially correct since he also mentioned that you have to have the strings inside the strings.xml which is not true.

查看更多
霸刀☆藐视天下
4楼-- · 2019-02-23 02:29

My guess you placed bladderUrl smth like this:

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

    @Override
    public void onCreate(Bundle savedInstanceState) {

...

However you need to do smth like this:

public class YourActivity extends Activity {
    private String bladderUrl;

    @Override
    public void onCreate(Bundle savedInstanceState) {

        bladderUrl = getString(R.string.bladder);
...
查看更多
登录 后发表回答