Получить текст от нажатой кнопки
Как я могу получить текст с нажатой кнопки? (Android)
Я могу получить текст с кнопки:
String buttonText = button.getText();
Я могу получить идентификатор с нажатой кнопки:
int buttinID = view.getId();
В этот момент я не могу узнать, как получить текст нажатой кнопки.
public void onClick(View view) {
// Get the text on the pressed button
}
Ответы
Ответ 1
Вид, который вы передали в onClick()
, - это кнопка, которую вы ищете.
public void onClick(View v) {
// 1) Possibly check for instance of first
Button b = (Button)v;
String buttonText = b.getText().toString();
}
1) Если вы используете не анонимный класс как onClickListener
, вы можете проверить
тип представления перед его литьем, поскольку он может быть чем-то иным, чем кнопка.
Ответ 2
Если вы уверены, что экземпляр OnClickListener применяется к Button, вы можете просто передать полученное представление кнопке и получить текст:
public void onClick(View view){
Button b = (Button)view;
String text = b.getText().toString();
}
Ответ 3
Попробуйте использовать:
String buttonText = ((Button)v).getText().toString();
Ответ 4
Попробуйте это,
Button btn=(Button)findViewById(R.id.btn);
String btnText=btn.getText();
Ответ 5
В Котлине:
myButton.setOnClickListener { doSomething((it as Button).text) }
Примечание: это получает текст кнопки в виде CharSequence
, который, вероятно, может использовать больше мест в коде. Если вам действительно нужна строка, то вы можете использовать .toString()
.
Ответ 6
Button btn = (Button) findViewById (R.id.btn);
String btnText = btn.getText(). ToString();
позже этот btnText может быть использован
например: if (btnText == "Текст для сравнения")