Разработка Android: Java NullPointerException при попытке получить getStringExtra () - PullRequest
1 голос
/ 07 ноября 2010

В моей основной деятельности у меня есть следующий код, который вызывает мою активность FileBrowser:

  Intent newFileIntent = new Intent(getBaseContext(), FileBrowser.class);
  newFileIntent.putExtra("action", "browseDirectories");
  startActivityForResult(newFileIntent, 2);

Но когда этот код выполняется, моя прикладная программа закрывается.В этот раз я снова запустил приложение с открытой DDMS, чтобы найти ошибку, и вот что это:

11-06 22:01:04.892: ERROR/AndroidRuntime(28287): Caused by: java.lang.NullPointerException
11-06 22:01:04.892: ERROR/AndroidRuntime(28287):     at com.alexprice.devpad.FileBrowser.<init>(FileBrowser.java:17)

Вот строка 17 (расположена вне onCreate):

private String action = getIntent().getStringExtra("action");

В чем дело?Могу ли я не использовать putExtra с startActivityForResult?Можно ли использовать putExtra только с startActivity?

1 Ответ

3 голосов
/ 07 ноября 2010

Попробуйте переместить объявление в onCreate () или любой другой метод, это обеспечит доступ к данным о намерениях.Объявив переменную перед onCreate () и, следовательно, любым другим методом, вы не будете иметь доступа к дополнительным функциям.

Оставьте строку 17 как private String action;

И внутри onCreate ()

action = getIntent().getStringExtra("action");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...