2012-01-08 125 views
0

爲什麼我的應用程序強制關閉,當我按下按鈕啓動的第一強制關閉的按鈕

此活動是啓動活動:

public class ForeverAlone extends Activity implements OnClickListener{ 
    /** Called when the activity is first created. */ 

    Button start; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     start = (Button) findViewById(R.id.bStart); 
     start.setOnClickListener(this); 
    } 

      @Override 
      public void onClick(View v) { 
       Intent myIntent = new Intent(ForeverAlone.this, First.class); 
       ForeverAlone.this.startActivity(myIntent); 
      } 

    } 

這是一個,就是要來活動我點擊後按下按鈕:

public class First extends Activity implements OnClickListener { 

    Button firstNext; 
    EditText firstFacebook, firstReallife; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.first); 
     firstNext = (Button) findViewById(R.id.bFirstNext); 
     firstFacebook = (EditText) findViewById(R.id.etFirst1); 
     firstReallife = (EditText) findViewById(R.id.etFirst2); 
     firstNext.setOnClickListener(this); 
     String firstFB = firstFacebook.getText().toString(); 
     String firstRL = firstReallife.getText().toString(); 
     DataHelper.insert(firstFB, firstRL); 
    } 



     @Override 
     public void onClick(View v) { 
      Intent myIntent = new Intent(First.this, Second.class); 
      First.this.startActivity(myIntent); 
     } 
} 

任何幫助都將不勝感激!

[編輯]

這裏的logcat的:

01-08 19:19:55.656: D/dalvikvm(363): GC_EXTERNAL_ALLOC freed 50K, 53% free 2553K/5379K, external 1625K/2137K, paused 76ms 
01-08 19:19:57.966: D/AndroidRuntime(363): Shutting down VM 
01-08 19:19:57.966: W/dalvikvm(363): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
01-08 19:19:57.986: E/AndroidRuntime(363): FATAL EXCEPTION: main 
01-08 19:19:57.986: E/AndroidRuntime(363): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kenning.foreveralone/com.kenning.foreveralone.First}: java.lang.NumberFormatException: unable to parse '' as integer 
01-08 19:19:57.986: E/AndroidRuntime(363): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 
01-08 19:19:57.986: E/AndroidRuntime(363): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
01-08 19:19:57.986: E/AndroidRuntime(363): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
01-08 19:19:57.986: E/AndroidRuntime(363): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
01-08 19:19:57.986: E/AndroidRuntime(363): at android.os.Handler.dispatchMessage(Handler.java:99) 
01-08 19:19:57.986: E/AndroidRuntime(363): at android.os.Looper.loop(Looper.java:123) 
01-08 19:19:57.986: E/AndroidRuntime(363): at android.app.ActivityThread.main(ActivityThread.java:3683) 
01-08 19:19:57.986: E/AndroidRuntime(363): at java.lang.reflect.Method.invokeNative(Native Method) 
01-08 19:19:57.986: E/AndroidRuntime(363): at java.lang.reflect.Method.invoke(Method.java:507) 
01-08 19:19:57.986: E/AndroidRuntime(363): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
01-08 19:19:57.986: E/AndroidRuntime(363): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
01-08 19:19:57.986: E/AndroidRuntime(363): at dalvik.system.NativeStart.main(Native Method) 
01-08 19:19:57.986: E/AndroidRuntime(363): Caused by: java.lang.NumberFormatException: unable to parse '' as integer 
01-08 19:19:57.986: E/AndroidRuntime(363): at java.lang.Integer.parseInt(Integer.java:362) 
01-08 19:19:57.986: E/AndroidRuntime(363): at java.lang.Integer.parseInt(Integer.java:332) 
01-08 19:19:57.986: E/AndroidRuntime(363): at java.lang.Integer.<init>(Integer.java:105) 
01-08 19:19:57.986: E/AndroidRuntime(363): at com.kenning.foreveralone.DataHelper.insert(DataHelper.java:9) 
01-08 19:19:57.986: E/AndroidRuntime(363): at com.kenning.foreveralone.First.onCreate(First.java:27) 
01-08 19:19:57.986: E/AndroidRuntime(363): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
01-08 19:19:57.986: E/AndroidRuntime(363): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
01-08 19:19:57.986: E/AndroidRuntime(363): ... 11 more 

[編輯]

我已經找到了事業 「的部隊密切」 的問題。

這幾行代碼:

String firstFB = firstFacebook.getText().toString(); 
String firstRL = firstReallife.getText().toString(); 
DataHelper.insert(firstFB, firstRL); 

如何從運行到停止他們的方法和類的跳過它們的方式?

+0

貌似你試圖解析'01-08'(看起來像'的toString()'的'Date')作爲int的DataHelper在第9行。 – 2012-01-08 19:45:04

回答

0

你所得到的EditTexts實例

firstFacebook = (EditText) findViewById(R.id.etFirst1); 
    firstReallife = (EditText) findViewById(R.id.etFirst2); 

然後讓他們的價值觀

String firstFB = firstFacebook.getText().toString(); 
    String firstRL = firstReallife.getText().toString(); 

並在此處使用它們

DataHelper.insert(firstFB, firstRL); 

但EditTexts是空的,所以你基本上是傳遞一個空字符串,因此

Caused by: java.lang.NumberFormatException: unable to parse '' as integer 
+0

如果我將它們移除,它會將應用程序的其餘部分擰緊。我可以讓方法忽略這些行嗎? – MiKenning 2012-01-08 20:06:44

+0

在插入db之前添加if語句:if(!firstFB.equals(「」)&&!firstRL.equals(「」))'。 – iTurki 2012-01-08 20:12:06

+0

該數字不等於某個值,它由用戶定義。 – MiKenning 2012-01-08 20:24:42

1

如果您發佈了logcat輸出,這將有所幫助,但我的猜測是您沒有在清單中列出First作爲活動。要麼是這樣,要麼First.onCreate正在產生一個異常。

+0

添加logcat thingy – MiKenning 2012-01-08 19:35:29

+0

@ user1137178 DataHelper.insert內發生異常。在第9行,它試圖將字符串轉換爲整數,並因爲字符串爲空而失敗。作爲猜測,您可以通過測試firstFB.length()> 0和/或firstRL.length()> 0(哪一個對您的應用有意義)來解決此問題。 – 2012-01-08 20:53:43

0

您有一個NumberFormatException。根據您的logcat的輸出要插入一個空字符串,其中的整數你Datahelper類預期:

at com.kenning.foreveralone.DataHelper.insert(DataHelper.java:9)