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);      
    }
}

こんにちは、私はアクティビティを起動しようとしていますが、Androidが上記のアクティビティ(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

4 に答える 4

4

変数editTextWorkmemo1は単一化されていますが、32行目で呼び出しgetText()ています。これによりNullPointerException

于 2012-04-24T14:28:50.683 に答える
2

前にeditTextWorkmemo1を指定するのを忘れたと思いますq1=editTextWorkmemo1.getText().toString();

于 2012-04-24T14:27:21.960 に答える
1

editTextWorkmemo1nullです。私はuninitiallizedを意味します。次のようなxmlレイアウトからの参照を与えます

EditText editTextWorkmemo1 =(EditText)findViewByid(R.id.YOURIDINXML);

于 2012-04-24T14:30:35.097 に答える
1

あなたの質問はすでに答えられています、私はエラーログを見たときに何が起こっているのかを知る方法をあなたに教えます。

最後から「原因」というフレーズを探します。そこで、実際にクラッシュを引き起こした例外が見つかります。以下の行でパッケージを検索し、括弧内のその行の終わりに、例外がスローされたクラス(およびコード内の行の番号)が表示されます。

これは、これらの単純で一般的な間違いで機能します。将来的にこれらの問題を解決するのに役立つことを願っています。

于 2012-04-24T14:39:25.373 に答える