Здравствуйте!
Только начал изучать программирование на андроид. Подскажите как мне получить данные из двух EditText? Для практики написал простую программку: a + b = результат. a и b это два поля EditText, а результат это TextView.
Задача следующая, чтобы если ввести в эти поля разные цифры, то они передавались в переменные a, b и при нажатии кнопки высчитывался результат.
Как мне передать значения EditText в переменные?
Сначала объявляю переменные a, b private int a, b;
а потом в методе onCreate я думаю что-то типа: a = editText1.getЗначение(); ( вот тут я не знаю как запросить значение) b = editText2.getЗначение(); ( вот тут я не знаю как запросить значение)
А в обработчике кнопки написать:
textView.setText(a + b);
Правильнее так:
int a = (editText1.getText() == null)?0:Integer.parseInt(editText1.getText().toString());
int b = (editText2.getText() == null)?0:Integer.parseInt(editText2.getText().toString());
textView.setText(Integer.toString(a + b));
то есть вот так:
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
Gregory Bass:
Вы пытаетесь считать данные с еще не созданых EditText, и запихнуть их в еще не созданный TextView
тоесть вот это:
private int a = Integer.parseInt(mFirstValue.getText().toString());
private int b = Integer.parseInt(mLastValue.getText().toString());
должно быть после вот этого:
mTextResultInfo = (TextView)findViewById(R.id.textViewResult);
mFirstValue = (EditText)findViewById(R.id.editTextFirstValue);
mLastValue = (EditText)findViewById(R.id.editTextLastValue);