2012-04-01 4 views
1

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

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) 
+1

Что происходит, вы регистрировали какое-либо значение, чтобы узнать, что вы получаете? – Snicolas

+0

Надеюсь, что вы решили свою проблему. – Ishu

+0

У вас есть исключение из null указателя: E/AndroidRuntime (19408): java.lang.NullPointerException 04-01 21: 07: 25.514: E/AndroidRuntime (19408): at weather.app.WeatherApplicationActivity .onLocationChanged (WeatherApplicationActivity.java:116), можете ли вы указать, какая строка это? – MahdeTo

ответ

0

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

Должно работать. И запишите больше значений, чтобы узнать, что произойдет.

+0

да вторая часть onCreate. Log.e (MY_DEBUG_TAG, «невозможно получить почтовый индекс»); --- Не работает совершенно новое для android и отладки – user1234167

+0

Я добавил свой логарифм к моему вопросу, хотя – user1234167

0

Первый код должен быть что-то вроде этого:

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

'FirstClassName' - это имя активности, из которой вы вызываете Intent.Same с' YourCurrentClassname'. – Exorcist

+0

String Postcode = intent.getExtras (FirstClassName.почтовый индекс); Эта строка получает ошибку: почтовый индекс не может быть разрешен или не является полем – user1234167

+0

Определите это перед «OnCreate» и после запуска класса, т. Е. после первого '{' в первом классе или вызывающей активности, где вы определили Intent: 'public static final String postcode =" your.package.name._clicked ";' где правильно заменить свое имя пакета. Попробуйте его – Exorcist

0

Как о попытке получить дополнительные услуги, как намерений ниже? plz также зарегистрируйте комплект дополнительных услуг и убедитесь, что вы получаете правильный ключ-ключ

Bundle extras = getIntent().getExtras(); 
if(extras !=null) { 
    String PostCode = extras.getString("postcode"); 
} 
+0

Я пробовал это, он тоже не работал. Я не очень хорошо регистрирую, как им новый, и мой лектор даже не знает ... – user1234167

0

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

startActivity(intent); 

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

+0

no I havent использовал это? Предполагаю ли я? – user1234167

+0

Цель говорит о том, что вы хотите сделать: запустите XmlParserActivity.class - тогда вы на самом деле это сделаете: startActivity (намерение). – pouzzler

+0

Итак, где бы я поместил это? в активность анализатора xml? – user1234167

1

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

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

Он мог бы что-то вроде() Ьс() D, где-то в левой части точкой равна нулю:.... Либо() или() Ь или() Ьс() равно нулю

0

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

0

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

Смежные вопросы