意图的初学者

时间:2012-04-01 19:24:58

标签: java android android-intent

有人能发现这段代码有什么问题吗?这是我第一次使用意图:

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 个答案:

答案 0 :(得分:1)

根据您的日志,您在WeatherApplicationActivity.java的第116行上有一个空指针异常。

检查此行,您应该有一个A.B形式的陈述,其中A为空。

它可能类似于a()。bc()。d,其中点左边的某些内容为null:a()或a()。b或a()。bc()为null

答案 1 :(得分:0)

您确定在onCreate方法中使用代码的第二部分(在XmlParserActivity中)吗?

它应该工作。并记录更多值以查看会发生什么。

答案 2 :(得分: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);

答案 3 :(得分:0)

如何尝试获得下面的意图附加内容? plz还记录extras包,看看你是否得到了正确的key-val

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

答案 4 :(得分:0)

这段代码很完美,没有任何问题。 你需要削减&粘贴多一点;特别是,你使用

startActivity(intent);
设置意图后

答案 5 :(得分:0)

你的“onLocationChanged”方法将包围try-catch(NullPointerException)如果没有强制关闭此方法的变量并且使用另一个变量方法检查。

答案 6 :(得分:0)

如果您使用"putExra",则在第二项活动中使用"getExtra" ...!