Делаю одну программку и возникло некоторое затруднение. В программе есть несколько полей типа EditText:
EditText in = findViewById(R.id.input);
EditText in2 = findViewById(R.id.input2);
Есть кнопки с текстовым значением типа:
android:text="0"
android:text="9"
У кнопки есть метод onClick с таким кодом:
public void onNumberClick(View view) {
Button button = (Button) view;
in.append(button.getText());
}
Такой код позволяет вводить текст с кнопок только в одно конкретное поле, а мне нужно, чтобы можно было вводить в любое из имеющихся полей, которое я выделяю касанием.
На Stack Overflow дали такой ответ:
"При касании - сохраните EditText в переменную. В методе нажатия кнопки - добавляйте текст именно в эту переменную. Да, назначьте полям Edit методы onClick и там сохраняйте".
Вот только я не понимаю, как сделать то, что посоветовали. Ламер я еще :(.
Maxim Evsyukov
18 уровень
EditText
, доступную из методаonClick()
кнопок, назвав её, например,target
. Для полей ввода переопределите методonClick()
. В этом методе сохраняйте ссылкуthis
в переменнуюtarget
. В методеonClick()
кнопок, берите из переменнойtarget
ссылку на поле, и добавляйте необходимый текст в это поле.