2014-01-16 36 views
0

當我想要參加一個活動時會發生錯誤。因此,這裏是logcat的Android:錯誤:java.lang.RuntimeException

01-16 12:22:17.014: E/AndroidRuntime(832): FATAL EXCEPTION: main 
    01-16 12:22:17.014: E/AndroidRuntime(832): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.blackcat.triporganizer/com.blackcat.triporganizer.tracker.OthersBudgetActivity}: java.lang.NullPointerException 
    01-16 12:22:17.014: E/AndroidRuntime(832): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at android.app.ActivityThread.access$600(ActivityThread.java:141) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at android.os.Handler.dispatchMessage(Handler.java:99) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at android.os.Looper.loop(Looper.java:137) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at android.app.ActivityThread.main(ActivityThread.java:5103) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at java.lang.reflect.Method.invokeNative(Native Method) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at java.lang.reflect.Method.invoke(Method.java:525) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at dalvik.system.NativeStart.main(Native Method) 
    01-16 12:22:17.014: E/AndroidRuntime(832): Caused by: java.lang.NullPointerException 
    01-16 12:22:17.014: E/AndroidRuntime(832): at com.blackcat.triporganizer.tracker.OthersBudgetActivity.onCreate(OthersBudgetActivity.java:27) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at android.app.Activity.performCreate(Activity.java:5133) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
    01-16 12:22:17.014: E/AndroidRuntime(832): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
    01-16 12:22:17.014: E/AndroidRuntime(832): ... 11 more 

現在,這是從活動我想去的地方:

public class OthersBudgetActivity extends Activity { 

    EditText BudgetInput; 
    ImageButton DoneButton; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_others_budget); 

     BudgetInput = (EditText) findViewById(R.id.editText_EntertainmentBudget); 
     BudgetInput.setInputType(InputType.TYPE_CLASS_NUMBER); 

     DoneButton = (ImageButton) findViewById(R.id.imageButton_EntertainmentBudget); 
     DoneButton.setOnClickListener(new OnClickListener() {   

       @Override 
       public void onClick(View v) { 


        boolean didItWork = true; 

        TrackerDAO gettingInfo = new TrackerDAO(OthersBudgetActivity.this); 



        gettingInfo.open(); 

        long getlastID = gettingInfo.getMaxID(); 

        int prev_other = gettingInfo.getOtherPrev(getlastID); 

        String getAmountString = BudgetInput.getText().toString(); 

        int getAmountInt = Integer.parseInt(getAmountString); 

        prev_other = prev_other + getAmountInt; 

        int prev_remainbudget = gettingInfo.getPrevRemainBudget(getlastID); 

        prev_remainbudget = prev_remainbudget - getAmountInt; 

        try{ 

         gettingInfo.updatePrevRemainBudget(getlastID, prev_remainbudget); 

         gettingInfo.updateotherEntry(getlastID, prev_other); 

         gettingInfo.close(); 

        }catch(Exception e){ 
         didItWork = false; 
         Dialog d = new Dialog(OthersBudgetActivity.this); 
         d.setTitle("Not Updated"); 
         d.show(); 
        } finally { 
         if (didItWork) { 
          Dialog d = new Dialog(OthersBudgetActivity.this); 
          d.setTitle("Data Updated"); 
          d.show(); 
         } 


         Intent OpenActivity = new Intent (OthersBudgetActivity.this, BudgetTrackerActivity.class); 
         startActivity(OpenActivity); 
        } 
       } 
     }); 

    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     finish(); 
    } 

} 

謝謝。

+1

雙擊該行應帶你到你的錯誤原因_at com.blackcat.triporganizer.tracker.OthersBudgetActivity.onCreate(OthersBudgetActivity.java:27)_ – Saqib

+0

我們需要知道你在OtherBudgetActivity的27行正在做什麼的.java。 –

回答

0

在你的onCreate()中沒有太多的代碼被實際執行,所以我猜想你的Buttons之一是null,當它們的方法或成員之一被訪問時導致這個異常。

確保R.id.editText_EntertainmentBudgetR.id.imageButton_EntertainmentBudget是您的佈局R.layout.activity_others_budget的一部分。

0

這是我對NullExceptionPointers活動的體驗,它無法找到資源,即使它處於Intellisense類型提示中。 您最好的選擇是在調試中通過AVD運行它,並且您可以看到哪個對象是NULL並帶有一個斷點。有時候這有點費時,但它會引導你回答你的問題。 我敢打賭,它是你的EditText或Button導致的問題。

相關問題