从按下的按钮获取文本

J. *_*aes 61 android

如何从按下的按钮获取文本?(机器人)

我可以从一个按钮获取文本:

String buttonText = button.getText();
Run Code Online (Sandbox Code Playgroud)

我可以通过按下按钮获取id:

int buttinID = view.getId();
Run Code Online (Sandbox Code Playgroud)

我目前无法找到的是如何在按下的按钮上获取文本.

public void onClick(View view) {
  // Get the text on the pressed button
}
Run Code Online (Sandbox Code Playgroud)

Hei*_*upp 156

传入的视图onClick()是您正在寻找的按钮.

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

1)如果您使用的是非匿名类onClickListener,则可能需要在投射之前检查视图的类型,因为它可能与Button不同.


Zso*_*agy 7

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

public void onClick(View view){
Button b = (Button)view;
String text = b.getText().toString();
}
Run Code Online (Sandbox Code Playgroud)


Amo*_*ale 5

尝试使用:

String buttonText = ((Button)v).getText().toString();
Run Code Online (Sandbox Code Playgroud)

  • 这会起作用,但您必须将其转换为 String。所以它是:`String s = (String) ((Button)v).getText();` (2认同)

And*_*eek 5

尝试这个,

Button btn=(Button)findViewById(R.id.btn);
String btnText=btn.getText();
Run Code Online (Sandbox Code Playgroud)