Новичок в намерениях - PullRequest
       1

Новичок в намерениях

1 голос
/ 01 апреля 2012

Может кто-нибудь определить, что не так с этим кодом?Это первый раз, когда я использовал намерения:

Intent intent = new Intent( this,XmlParserActivity.class);

String Postcode = returnedAddress.getPostalCode().toString();

intent.putExtra("postcode", Postcode);

и в моем анализаторе у меня есть:

Intent intent = getIntent();

String Postcode = intent.getStringExtra("postcode");

URL url = new URL("http://new.myweather2.com/developer/forecast.ashx?uac=gcV3ynNdoV&output=xml&query=" + Postcode);

Обратите внимание, что мой GPS работает, я проверил его

Logcat:

04-01 21:07:25.514: E/AndroidRuntime(19408): FATAL EXCEPTION: main
04-01 21:07:25.514: E/AndroidRuntime(19408): java.lang.NullPointerException
04-01 21:07:25.514: E/AndroidRuntime(19408):    at weather.app.WeatherApplicationActivity.onLocationChanged(WeatherApplicationActivity.java:116)
04-01 21:07:25.514: E/AndroidRuntime(19408):    at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:228)
04-01 21:07:25.514: E/AndroidRuntime(19408):    at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:160)
04-01 21:07:25.514: E/AndroidRuntime(19408):    at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:176)
04-01 21:07:25.514: E/AndroidRuntime(19408):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-01 21:07:25.514: E/AndroidRuntime(19408):    at android.os.Looper.loop(Looper.java:150)
04-01 21:07:25.514: E/AndroidRuntime(19408):    at android.app.ActivityThread.main(ActivityThread.java:4293)
04-01 21:07:25.514: E/AndroidRuntime(19408):    at java.lang.reflect.Method.invokeNative(Native Method)
04-01 21:07:25.514: E/AndroidRuntime(19408):    at java.lang.reflect.Method.invoke(Method.java:507)
04-01 21:07:25.514: E/AndroidRuntime(19408):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
04-01 21:07:25.514: E/AndroidRuntime(19408):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
04-01 21:07:25.514: E/AndroidRuntime(19408):    at dalvik.system.NativeStart.main(Native Method)

Ответы [ 7 ]

1 голос
/ 02 апреля 2012

Согласно вашему журналу, у вас есть исключение нулевого указателя в строке 116 WeatherApplicationActivity.java.

Проверьте эту строку, у вас должно быть утверждение в форме A.B, где A равно нулю.

Это может быть что-то вроде a (). B.c (). D, где что-то слева от точки равно нулю: a () или a (). B или a (). B.c () равно нулю

0 голосов
/ 29 июня 2013

Если вы используете "putExra", то во втором упражнении используйте "getExtra" ...!

0 голосов
/ 23 февраля 2013

Ваш метод "onLocationChanged" будет перенесен с try-catch (NullPionerException) Если вы не получили принудительное закрытие, чем проверка этого метода и проверка другой используемой переменной.

0 голосов
/ 02 апреля 2012

Этот код идеален, с ним все в порядке. Вы должны вырезать и вставить немного больше; в частности, вы используете

startActivity(intent);

после настройки намерения?

0 голосов
/ 01 апреля 2012

Как насчет попыток получить намеренные дополнения, как показано ниже? Также, пожалуйста, войдите в комплект дополнений и посмотрите, правильно ли вы набрали key-val

Bundle extras = getIntent().getExtras(); 
if(extras !=null) {
     String PostCode = extras.getString("postcode");
}
0 голосов
/ 01 апреля 2012

Первый код должен быть примерно таким:

Intent intent = new Intent( YourCurrentClassname.this,XmlParserActivity.class);

String Postcode = returnedAddress.getPostalCode().toString();

intent.putExtra("postcode", Postcode);

И для получения значения:

Intent intent = getIntent();

String Postcode = intent.getExtras(FirstClassName.postcode);

URL url = new URL("http://new.myweather2.com/developer/forecast.ashx?uac=gcV3ynNdoV&output=xml&query=" + Postcode);
0 голосов
/ 01 апреля 2012

Вы уверены, что используете вторую часть кода (в XmlParserActivity) в методе onCreate?

Это должно работать. И зарегистрируйте больше значений, чтобы увидеть, что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...