Как заполнить EditText нажатием кнопки?

#android

#Android

Вопрос:

Я хочу, чтобы значения в кнопке были заполнены в текстовом поле редактирования. т.е. я создаю страницу входа в систему, на которой должен быть введен PIN-код. Я дал набор чисел в виде кнопок, когда я нажимаю кнопку, соответствующие значения должны быть заполнены в редактируемом текстеполе (точно так же, как действие ATM).

Теперь я использую:

  b1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View paramView) {
                // TODO Auto-generated method stub
                String text=(String) b1.getText();
                        pincode.setText(text);
            }
        });
  

с помощью приведенного выше кода я получаю заполненные значения, но у меня есть набор кнопок, так есть ли какой-нибудь упрощенный способ получить заполненные значения?
* Значения, которые в настоящее время заменяют предыдущее, мне нужно несколько значений в редактируемом тексте, например, если мы нажимаем кнопки 1,2,3 (значения), значения в редактируемом тексте должны быть 123 *

Ответ №1:

Для этого в вашей деятельности implements OnClickListener

затем добавьте этот прослушиватель ко всем вашим кнопкам как

 btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
  

и записать событие onClick как

 public void onClick(View v) {

    Button b1 = (Button)v;
    editText.setText(editText.getText().toString() b1.getText().toString());
}
  

и все готово 🙂

Комментарии:

1. код вставит значения в редактируемый текст, но он заменит первое значение при вводе второго значения, мне нужно заполнить все значения, которые я ввожу с помощью кнопок

Ответ №2:

на вашей кнопке onClick вы должны сделать это

 button1.setOnClickListener(new View.OnClickListener() {
yourEditText.setText(yourEditText.getText().toString "1");
});

button2.setOnClickListener(new View.OnClickListener() {
yourEditText.setText(yourEditText.getText().toString "2");
});
  

таким образом, ваши кнопки будут работать

Ответ №3:

 onClick(View v)
{
    editText.setText(editText.getText()   v.getText());
    //plz adjust casting and spanned as per requirement
}
  

Ответ №4:

Вы можете добавить текст следующим образом:

 String a = "random text";
input = your_edit_text_box;
input.setText(a);
  

Ссылка: http://developer.android.com/reference/android/widget/EditText.html#setText(java.lang .Последовательность символов, android.widget.TextView.BufferType)

Ответ №5:

 Button btnNO = (Button) findViewById(R.id.btn);
EditTExt edtText = (EditText) findViewById(R.id.editText);

btnNO.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
     String text= btnNo.getText();
     edtText.setText(text);

    // or direct use like, edtText.setText(btnNo.getText());
    }

});