2011-01-21 4 views
0

У меня есть странная проблема. У меня есть следующий код:проблема с поиском дополнительных заданий для Android

if (fbIntent.hasExtra("Link")) { 
      try{ 
      postData[0]= fbIntent.getStringExtra("Link"); 
      } catch (Exception e) {Log.d("fbIntent error",e.getMessage());} 
     } 

fbIntent.hasExtra ("Link") истинно. Поэтому компилятор переходит в оператор if. Но я не могу получить строку, используя fbIntent.getStringExtra («Ссылка»). Это я знаю из отладки в eclipse. Когда я запускаю его, я получаю:

01-21 14:12:01.030: ERROR/AndroidRuntime(311): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.examples.Kikin/com.examples.Kikin.FacebookLogin}: java.lang.NullPointerException: println needs a message 

Пожалуйста, помогите мне.

+0

Вы инициализировали postData, не так ли? – EboMike

+0

да. Я сделал. хотя я сделал это как null. Это имеет значение? – Brahadeesh

+0

Необходимо больше узнать о коде. Кроме того, трассировка стека должна указывать вам, в какой строке находится NPE. – EboMike

ответ

0

Необходимо инициализировать postData. Попробуйте что-то вроде String[] postData = new String[1]. Очевидно, что если вы хотите использовать postData [1], [2] и [3], вам нужно сказать new String[4].

0

1) Ваш текущий номер в

Log.d("fbIntent error", e.getMessage()); 

e.getMessage() может вернуться null, так что вы получите java.lang.NullPointerException: println needs a message. Вместо этого используйте e.toString(). Или лучше всего было бы:

Log.e("some tag", "some comment", e); 

2) Когда вы это исправить, вы сможете увидеть фактические ошибки идти дальше в установлении корневой/реальная проблема. Поэтому не стесняйтесь обновлять сообщение новыми данными журнала.

+0

Это не моя проблема. Спасибо вам за информацию. Я изменил все мои getMessage() на toString(). – Brahadeesh