从按下的按钮获取文本

我怎样才能从一个按下的按钮得到文本? (Android)

我可以从一个按钮得到文本:

String buttonText = button.getText();

我可以通过按下的按钮得到 ID:

int buttinID = view.getId();

我现在不知道的是如何在按下的按钮上获得文本。

public void onClick(View view) {
// Get the text on the pressed button
}
140260 次浏览

onClick()上传入的视图就是您要寻找的按钮。

public void onClick(View v) {
// 1) Possibly check for instance of first
Button b = (Button)v;
String buttonText = b.getText().toString();
}

1)如果使用非匿名类作为 onClickListener,可能需要检查 类型的视图,因为它可能与 Button 不同。

如果确定 OnClickListener 实例应用于 Button,那么只需将接收到的视图强制转换为 Button 并获取文本:

public void onClick(View view){
Button b = (Button)view;
String text = b.getText().toString();
}

尝试使用:

String buttonText = ((Button)v).getText().toString();

试试这个,

Button btn=(Button)findViewById(R.id.btn);
String btnText=btn.getText();

在 Kotlin:

myButton.setOnClickListener { doSomething((it as Button).text) }

注意: 这将获得按钮文本作为 CharSequence,代码中的更多位置可能会使用这个 CharSequence。如果您真的想从那里获得一个 String,那么可以使用 .toString()

Button btn=(Button)findViewById(R.id.btn);
String btnText=btn.getText().toString();

以后可以使用这个 btnText

例如:

if(btnText == "Text for comparison")

将视图转换为按钮并使用 getText()访问文本内容。

   public String onClick(View view) {
// Get the text on the pressed button
return ((Button)view).getText().toString()
}
// Import text from button to string
String b_text = button.getText().toString();
// To set button text
button.setText("xyz");