2014-11-02 3 views
1

Приложение для Android не работает, приложение остановилось, к сожалению. Где неправильный код?Редактировать текст integer

@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

Показать нам StackTrace – Hellboy

+0

[Integer.parseInt()] [1] метод может выбросить исключение, если данная строка не является целым числом распознаваем. Вы должны проверить вывод LogCat, чтобы увидеть, где происходит исключение, и отладить его, чтобы увидеть причину. [1]: http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String) –

+1

У вас есть значение по умолчанию для editText ? Если editText пуст, ваше приложение будет сбой при попытке его проанализировать. –

ответ

1

Вы пытаетесь использовать пустую ценность int при создании. Он может работать с некоторыми номерами в EditText, но когда он пуст, он должен сработать. Также неправильный метод tw.setText. Попробуйте этот код работает:

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

Смежные вопросы