2014-11-02 43 views
1

Android應用程序不工作,應用程序不幸停止。代碼錯在哪裏?編輯文本整數

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

    final EditText edittext1 = (EditText) findViewById(R.id.editText1); 
    final Button button1 = (Button) findViewById(R.id.Button01); 
    final TextView tw = (TextView) findViewById(R.id.textView1); 
    final int valueint = Integer.parseInt(edittext1.getText().toString()); 

    button1.setOnClickListener(new OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 

      tw.setText(Integer.toString(20*valueint)); 
     } 
    }); 


} 

代碼是否爲垃圾?

int valueint = Integer.parseInt(edittext1.getText().toString()); 
+0

顯示我們堆棧跟蹤 – Hellboy 2014-11-02 21:31:53

+0

[的Integer.parseInt()] [1]的方法可如果給定的字符串不是一個解析的整數拋出異常。您應該檢查LogCat輸出以查看發生異常的位置,並通過調試來查看原因。 [1]:http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String) – 2014-11-02 21:33:52

+1

您是否有editText的默認值?如果editText爲空,則在嘗試解析它時,您的應用程序會崩潰。 – 2014-11-02 21:33:59

回答

1

您正嘗試在create上使用空的int值。它可以在EditText中使用一些數字,但是當它爲空時它必須崩潰。 tw.setText metod也是錯誤的。試試這個代碼,工作:

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class MainActivity1 extends Activity { 

    EditText edit;// = (EditText) findViewById(R.id.editText1); 
    Button button;// = (Button) findViewById(R.id.button1); 
    TextView tw;// = (TextView) findViewById(R.id.textView1); 
    int valueint;// = Integer.parseInt(edit.getText().toString()); 

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

     edit = (EditText) findViewById(R.id.editText1); 
     button = (Button) findViewById(R.id.button1); 
     tw = (TextView) findViewById(R.id.textView1); 

     button.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       valueint = Integer.parseInt(edit.getText().toString()); 
       tw.setText(String.valueOf(20 * valueint)); 
      } 
     }); 

    } 
+0

您應該添加一些方法來檢查空/空整數onClick。 – Dudeist 2014-11-02 22:19:22