2012-04-01 140 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 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

回答

0

是否確定要在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

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 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

0

如何試圖如下得到額外的意圖? PLZ也登錄額外套件,看看你是否得到正確的密鑰 - VAL

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

我試過這也沒有工作。我不是很好的日誌記錄,因爲即時通訊新的這一點,我的講師甚至不知道... – user1234167 2012-04-01 20:17:33

0

此代碼是完美的,沒有什麼是錯的。 您需要將&粘貼多一點;特別是您使用

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

1

根據你的日誌,你在WeatherApplicationActivity.java的第116行有一個空指針異常。

檢查這一行,你應該有一個形式A.B的聲明,其中A爲空。

它可以像一個()BC()d,其中一些在點的左邊是空:。。無論是()或()B或A()BC()爲null

0

您的「onLocationChanged」方法將與try-catch(NullPionerException)一起出現如果您沒有得到強制關閉比此方法的變量和另一個變量在使用方法檢查。

0

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