意向初学者

问题描述:

任何人都可以发现这段代码有什么问题吗?这是我第一次使用的意图:意向初学者

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 2012-04-01 19:30:25

+0

希望你已经解决了你的问题 – Ishu 2012-04-02 03:00:08

+0

你有一个空指针异常:E/AndroidRuntime(19408):java.lang.NullPointerException 04-01 21:07:25.514:E/AndroidRuntime(19408):at weather.app.WeatherApplicationActivity .onLocationChanged(WeatherApplicationActivity.java:116),你能指定哪一行吗? – MahdeTo 2012-04-02 05:04:06

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

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

+0

是的第二部分是onCreate。 Log.e(MY_DEBUG_TAG,“无法检索邮政编码”); ---没有工作相当新的android和调试 – user1234167 2012-04-01 20:01:48

+0

我已经添加我的logcat到我的问题,虽然 – user1234167 2012-04-01 20:16:17

第一个代码应该是这样的:

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 2012-04-01 19:35:12

+0

String Postcode = intent.getExtras(FirstClassName。邮编); 此行出现错误:邮政编码无法解析或不是字段 – user1234167 2012-04-01 19:59:55

+0

在“OnCreate”之前以及课程开始后定义此内容,在第一个类中的第一个'''或者你定义的调用活动之后:'public static final String postcode =“your.package.name._clicked”;'在那里正确地替换你的包名。试试吧 – Exorcist 2012-04-01 20:15:09

如何试图如下得到额外的意图? PLZ也登录额外套件,看看你是否得到正确的密钥 - VAL

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

我试过这也没有工作。我不是很好的日志记录,因为即时通讯新的这一点,我的讲师甚至不知道... – user1234167 2012-04-01 20:17:33

此代码是完美的,没有什么是错的。 您需要将&粘贴多一点;特别是您使用

startActivity(intent); 

设置意图后?

+0

不,我没有 – user1234167 2012-04-01 20:15:55

+0

意图告诉你想做什么:启动XmlParserActivity.class - 然后你真的这么做:startActivity(intent)。 – pouzzler 2012-04-01 20:34:38

+0

那么我会把它放在xml解析器的活动中吗? – user1234167 2012-04-01 20:47:10

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

检查这一行,你应该有一个形式A.B的声明,其中A为空。

它可以像一个()BC()d,其中一些在点的左边是空:。。无论是()或()B或A()BC()为null

您的“onLocationChanged”方法将与try-catch(NullPionerException)一起出现如果您没有得到强制关闭比此方法的变量和另一个变量在使用方法检查。

如果您使用"putExra",那么在第二次活动中使用"getExtra" ...!