2013-08-04 27 views
0

我在我的代碼中有這個設置。不能從不同的活動開始intent

XML:

<Button 
    android:id="@+id/planTrip" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignRight="@+id/clearDestination" 
    android:layout_below="@+id/destination" 
    android:onClick="buttonCalls" 
    android:text="@string/plan_trip" /> 

MainActivity

public void buttonCalls(View view) { 
    Utils util = new Utils(); 
    switch (view.getId()) { 
    case (R.id.planTrip): 
     System.out.println("PLANTRIP BUTTON"); 
     try { 
      util.planTripUtil(MainActivity.this); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     break; 
    default: 
     break; 
    } 

} 

utils的活動

public void planTripUtil(Context context) throws IOException { 
    boolean canGetStartCoord = GC.canGetCoordinates; 
    boolean canGetEndCoord = GC.canGetCoordinates; 

    if (canGetEndCoord && canGetStartCoord) { 
     Intent intent = new Intent(context, WebViewActivity.class); 
     startActivity(intent); 

}

我得到這個錯誤,每當我按一下按鈕。我知道問題在於startActivity(意圖),它只是每次都給我一個IllegalStateException。任何想法爲什麼以及如何解決這個問題?

08-04 15:04:05.599: E/AndroidRuntime(23230): FATAL EXCEPTION: main 
08-04 15:04:05.599: E/AndroidRuntime(23230): java.lang.IllegalStateException: Could not execute method of the activity 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.view.View$1.onClick(View.java:3599) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.view.View.performClick(View.java:4204) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.view.View$PerformClick.run(View.java:17360) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.os.Handler.handleCallback(Handler.java:725) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.os.Handler.dispatchMessage(Handler.java:92) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.os.Looper.loop(Looper.java:137) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.app.ActivityThread.main(ActivityThread.java:5233) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at java.lang.reflect.Method.invokeNative(Native Method) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at java.lang.reflect.Method.invoke(Method.java:511) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:799) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at dalvik.system.NativeStart.main(Native Method) 
08-04 15:04:05.599: E/AndroidRuntime(23230): Caused by: java.lang.reflect.InvocationTargetException 
08-04 15:04:05.599: E/AndroidRuntime(23230): at java.lang.reflect.Method.invokeNative(Native Method) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at java.lang.reflect.Method.invoke(Method.java:511) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.view.View$1.onClick(View.java:3594) 
08-04 15:04:05.599: E/AndroidRuntime(23230): ... 11 more 
08-04 15:04:05.599: E/AndroidRuntime(23230): Caused by: java.lang.NullPointerException 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.app.Activity.startActivityForResult(Activity.java:3381) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.app.Activity.startActivityForResult(Activity.java:3342) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.app.Activity.startActivity(Activity.java:3577) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at android.app.Activity.startActivity(Activity.java:3545) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at com.example.otpxmlgetter.Utils.planTripUtil(Utils.java:120) 
08-04 15:04:05.599: E/AndroidRuntime(23230): at com.example.otpxmlgetter.MainActivity.buttonCalls(MainActivity.java:202) 
+0

[試試這個(http://stackoverflow.com/questions/8443585/how-to-solve-illegal-state -exception-while-removing-fragment-in-android)可能你會得到一些合適的。 – Sheel

+0

你應該對'NPE'被拋出更感興趣。 – Vikram

+0

創建* OnClickListener *對象並將其設置爲不在XML中的按鈕。 – EvZ

回答

0

普萊斯檢查utils的的planTripUtil方法的代碼,在的NullPointerException 120線發生

+0

這更像是一個評論而不是答案。我知道你還沒有評論的代表,但是當你這樣做時,發佈這樣的評論,謝謝。 – laalto