2012-04-24 8 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가 초기화되지 않고, 당신이이 NullPointerException 원인 라인 (32)에 거기에 getText()를 호출하고 있습니다.

2

난 당신이 q1=editTextWorkmemo1.getText().toString();

1

editTextWorkmemo1는 null.I는

글고 editTextWorkmemo1 = (글고) findViewById를 (R.id.YOURIDINXML) 같은 XML 레이아웃에서 uninitiallized.give 기준을 의미한다;

1

귀하의 질문에 이미 답변되었으므로 오류 로그를보고있을 때 어떤 일이 벌어지고 있는지 알아 보는 방법을 알려 드리겠습니다.

끝에서 이동하고 "원인"구를 찾으십시오. 거기에서 실제로 충돌을 일으킨 예외를 찾을 수 있습니다. 패키지 검색 아래 줄에 괄호로 묶인 줄 끝에 예외가 발생하는 클래스 (코드의 줄 번호)가 표시됩니다.

이 간단한, 일반적인 실수로 작동합니다. 희망은 당신이 미래에 이러한 문제를 해결하는 데 도움이됩니다.

+0

팁 주셔서 감사합니다! –