2012-04-24 55 views
0
public class workmemo extends Activity{ 

    EditText editTextWorkmemo1; 
    EditText editTextWorkmemo2; 
    String q1; 
    String q2; 

    Button ButtonWorkMemo1 ; 
    WorkmemoDatabaseHelper dbh2 = new WorkmemoDatabaseHelper(workmemo.this); 

    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.workmemo); 

     q1=editTextWorkmemo1.getText().toString(); 

     String currentDateTimeString = DateFormat.getDateTimeInstance().format(
                    new Date()); 
     editTextWorkmemo2=(EditText)findViewById(R.id.editTextWorkmemo2); 
     editTextWorkmemo2.setText(currentDateTimeString); 
     q2=currentDateTimeString; 

     ButtonWorkMemo1 = (Button) findViewById(R.id.ButtonWorkMemo1); 
     ButtonWorkMemo1.setOnClickListener(new clicker()); 


    } 

    class clicker implements Button.OnClickListener{ 
     public void onClick(View v) {       
     if(v== ButtonWorkMemo1) { 
      //addEvent(q1,q2); 
      Intent viewDataIntent = new Intent(workmemo.this, Database.class); 
      startActivity(viewDataIntent); 
     } 
     } 
    } 

    public void addEvent (String q1,String q) { 
     SQLiteDatabase db = dbh2.getWritableDatabase(); 
     ContentValues values = new ContentValues(); 

     values.put(WorkmemoDatabaseHelper.memo, q1); 
     values.put(WorkmemoDatabaseHelper.date, q2); 

     db.insert(WorkmemoDatabaseHelper.TABLE_NAME, null, values);  
    } 
} 

您好,我試圖發起一個活動,當機器人試圖啓動上述活動(workmemo),它失敗。下面是我的錯誤日誌。有任何想法嗎?活動不開展

04-24 12:46:06.955: W/dalvikvm(548): threadid=1: thread exiting with uncaught exception (group=0x409c01f8) 
04-24 12:46:06.984: E/AndroidRuntime(548): FATAL EXCEPTION: main 
04-24 12:46:06.984: E/AndroidRuntime(548): java.lang.RuntimeException: Unable to start activity ComponentInfo{nidhin.organizer/nidhin.organizer.workmemo}: java.lang.NullPointerException 
04-24 12:46:06.984: E/AndroidRuntime(548): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956) 
04-24 12:46:06.984: E/AndroidRuntime(548): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
04-24 12:46:06.984: E/AndroidRuntime(548): at android.app.ActivityThread.access$600(ActivityThread.java:123) 
04-24 12:46:06.984: E/AndroidRuntime(548): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 
04-24 12:46:06.984: E/AndroidRuntime(548): at android.os.Handler.dispatchMessage(Handler.java:99) 
04-24 12:46:06.984: E/AndroidRuntime(548): at android.os.Looper.loop(Looper.java:137) 
04-24 12:46:06.984: E/AndroidRuntime(548): at android.app.ActivityThread.main(ActivityThread.java:4424) 
04-24 12:46:06.984: E/AndroidRuntime(548): at java.lang.reflect.Method.invokeNative(Native Method) 
04-24 12:46:06.984: E/AndroidRuntime(548): at java.lang.reflect.Method.invoke(Method.java:511) 
04-24 12:46:06.984: E/AndroidRuntime(548): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
04-24 12:46:06.984: E/AndroidRuntime(548): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
04-24 12:46:06.984: E/AndroidRuntime(548): at dalvik.system.NativeStart.main(Native Method) 
04-24 12:46:06.984: E/AndroidRuntime(548): Caused by: java.lang.NullPointerException 
04-24 12:46:06.984: E/AndroidRuntime(548): at nidhin.organizer.workmemo.onCreate(workmemo.java:32) 
04-24 12:46:06.984: E/AndroidRuntime(548): at android.app.Activity.performCreate(Activity.java:4465) 
04-24 12:46:06.984: E/AndroidRuntime(548): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
04-24 12:46:06.984: E/AndroidRuntime(548): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 
04-24 12:46:06.984: E/AndroidRuntime(548): ... 11 more 

回答

4

指定editTextWorkmemo1你的變量editTextWorkmemo1是未初始化,但你在32行調用它getText()這將導致NullPointerException

2

我想你忘記了以前q1=editTextWorkmemo1.getText().toString();

1

editTextWorkmemo1被null.I的意思是像

的EditText editTextWorkmemo1 =(EditText上)findViewByid(R.id.YOURIDINXML)從XML佈局uninitiallized.give參考;

1

你的問題已經回答了,我只是告訴你如何查看錯誤日誌時發生了什麼。

從末尾開始尋找「引起」短語。在那裏你會發現一個異常實際導致你的崩潰。在下面的行中搜索你的軟件包,並在括號中的那一行的末尾,你會看到拋出異常的類(和你的代碼中的行號)。

它適用於這些簡單的常見錯誤。希望它能幫助你在將來解決這些問題。

+0

感謝您的提示! – 2012-04-24 15:04:03