2014-09-01 45 views
-2

我在我的應用程序 錯誤我的java文件之一收到錯誤是:java.lang.NullPointerExceptionUnfortunatetly應用程序已經停止在Android模擬器

我得到的下面一行,

String getName = name.getText().toString(); 

這裏我的代碼,在那裏我在detailSave方法得到錯誤

public class Contact_Details extends ActionBarActivity { 

    Button save, show; 
    EditText name, email, phnno; 
    DataHandler handler; 
    long id; 

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

     save = (Button) findViewById(R.id.c_save); 
     show = (Button) findViewById(R.id.c_show); 
     name = (EditText) findViewById(R.id.c_name); 
     email = (EditText) findViewById(R.id.c_email); 
     phnno = (EditText) findViewById(R.id.c_phnno); 

     if (savedInstanceState == null) { 
      getSupportFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit(); 
     } 
    } 

    /* 
    * public void detailSave(View v) { String getName = 
    * name.getText().toString(); String getEmail = email.getText().toString(); 
    * String getPhnno = phnno.getText().toString(); handler = new 
    * DataHandler(getBaseContext()); handler.open(); id = 
    * handler.insertData(getName, getEmail, getPhnno); 
    * Toast.makeText(getBaseContext(), "Data inserted", 
    * Toast.LENGTH_LONG).show(); handler.close(); } 
    */ 

    public void detailSave(View v) { 
     String getName = name.getText().toString(); 
     String getEmail = email.getText().toString(); 
     String getPhnno = phnno.getText().toString(); 

     if (getName != null && getEmail != null && getPhnno != null) { 
      handler = new DataHandler(getBaseContext()); 
      handler.open(); 
      long id = handler.insertData(getName, getEmail, getPhnno); 
      Toast.makeText(getBaseContext(), "Data inserted", Toast.LENGTH_LONG).show(); 
      handler.close(); 
     } 
    } 

    public void detailShow(View v) { 
     String getName, getEmail, getPhnno; 
     getName = ""; 
     getEmail = ""; 
     getPhnno = ""; 
     handler = new DataHandler(getBaseContext()); 
     handler.open(); 
     Cursor C = handler.returnData(); 
     if (C.moveToFirst()) { 
      do { 
       getName = C.getString(0); 
       getEmail = C.getString(1); 
       getPhnno = C.getString(2); 

      } while (C.moveToNext()); 
     } 
     handler.close(); 
     Toast.makeText(getBaseContext(), "Name :" + getName + "\n Email :" + getEmail + "\n Contact No :" + getPhnno, 
       Toast.LENGTH_LONG).show(); 
    } 
} 

的logcat:

2月9日至1日:53:44.068:d/dalvikvm(1162):GC_FOR_ALLOC釋放142K,7%的遊離 3231K/3444K,暫停61ms,共73ms 2月9日至1日:53:49.408: d/AndroidRuntime (1162):關閉虛擬機09-01 02:53:49.408: W/dalvikvm(1162):threadid = 1:線程以未捕獲的異常退出 (group = 0xb1a68ba8)09-01 02:53:49.458:E/AndroidRuntime(1162):致命 EXCEPTION:main 09-01 02:53:49.458:E/AndroidRuntime(1162):進程: com.example.wedding_app,PID:1162 09-01 02:53:49.458: E/AndroidRuntime(1162):java.lang.IllegalStateException:不能 執行活動的方法09-01 02:53:49.458: E/AndroidRuntime(1162):在 android.view.View $ 1.onClick(View.java:3823)09-01 02:53:49.458: E/AndroidRuntime(1162):at android.view.View.performClick(View.java:4438)09 -01 02:53:49.458: E/AndroidRuntime(1162):at android.view.View $ PerformClick.run(View.java:18422)09-01 02:53:49.458:E/AndroidRuntime(1162) :at android.os.Handler.handleCallback(Handler.java:733)09-01 02:53:49.458:E/AndroidRuntime(1162):at android.os.Handler.dispatchMessage(Handler.java:95) E/AndroidRuntime(1162):09-01 02:53:49.458:E/AndroidRuntime(1162):at android.os.Looper.loop(Looper.java:136)09-01 02:53:49.458: E/at android.app.ActivityThread.main(Activ ityThread.java:5017)09-01 02:53:49.458:E/AndroidRuntime(1162):at java.lang.reflect.Method.invokeNative(Native Method)09-01 02:53:49.458:E/AndroidRuntime(1162):at java.lang.reflect.Method.invoke(Method.java:515)09-01 02:53:49.458: E/AndroidRuntime(1162):at com.android.internal.os。 ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779) 09-01 02:53:49.458:E/AndroidRuntime(1162):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)09 -01 02:53:49.458:E/AndroidRuntime(1162):在 dalvik.system.NativeStart.main(本機方法)二月9日至1日:53:49.458: E/AndroidRuntime(1162):由: 的java.lang.ref lect.InvocationTargetException 09-01 02:53:49.458: E/AndroidRuntime(1162):at java.lang.reflect.Method.invokeNative(Native Method)09-01 02:53:49.458:E/AndroidRuntime(1162) ):在 java.lang.reflect.Method.invoke(Method.java:515)09-01 02:53:49.458: E/AndroidRuntime(1162):at android.view.View $ 1.onClick(View。 java:3818)09-01 02:53:49.458: E/AndroidRuntime(1162):... 11更多09-01 02:53:49.458: E/AndroidRuntime(1162):由...引發:java.lang。 NullPointerException 09-01 02:53:49.458:E/AndroidRuntime(1162):at com.example.wedding_app.Contact_Details.detailSave(Contact_Details.java:56) 09-01 02:53:49.458:E/AndroidRuntime 1162):...14更多09-01 02:53:52.018:I /過程(1162):發送信號。 PID:1162 SIG:9 09-01 02:53:55.038:D/gralloc_goldfish(1192):未檢測到GPU仿真的仿真器 。

請幫我解決這個問題。

+0

你可以發佈crashcat logcat嗎? – 2014-09-01 06:30:37

+0

你的'activity_contact__details'佈局中有什麼?看起來像 http://stackoverflow.com/questions/23653778/nullpointerexception-accessing-views-in-oncreate – laalto 2014-09-01 06:31:30

+0

是'name' null或'name.getText()'? – Soana 2014-09-01 06:36:35

回答

0

getText()不返回空值。所以它必須是name這裏是空的。仔細檢查你如何初始化它name = (EditText) findViewById(R.id.c_name);。可能是R.id.c_name是怪。

+0

我檢查了東西 一切正常 c_name是文本字段的ID 我dnt knw爲什麼這個錯誤來了.. :( – user3844736 2014-09-01 07:42:44

相關問題