NullPointerException при попытке доступа к ресурсу String - PullRequest
5 голосов
/ 11 ноября 2010

У меня есть следующее /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);

Но возвращается ноль. Я не уверен, почему?

Ответы [ 3 ]

21 голосов
/ 11 ноября 2010

Полагаю, вы поместили bladderUrl что-то вроде этого:

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 голос
/ 11 ноября 2010

Прежде всего, чтобы прояснить это.Вы не должны иметь все свои строки в strings.xml.Период.

Emmanuels ответ частично прав.Вы должны получить строку внутри вашего onCreate() метода при инициализации контекста.Его ответ только частично правильный, так как он также упомянул, что у вас должны быть строки внутри strings.xml, что неверно.

0 голосов
/ 11 ноября 2010

Сначала убедитесь, что эти значения находятся в файле strings.xml.

Кроме того, вы не можете получить доступ к строкам из конструктора. Контекст приложения еще не инициализирован. Вы должны сделать это в onCreate ().

Эммануил

...