从按下的按钮获取文本

时间:2011-04-11 11:45:56

标签: android

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

我可以通过按钮获取文字:

String buttonText = button.getText();

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

int buttinID = view.getId();

此时我无法找到的是如何在按下的按钮上显示文字。

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

6 个答案:

答案 0 :(得分:152)

您在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不同。

答案 1 :(得分:7)

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

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

答案 2 :(得分:4)

尝试使用:

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

答案 3 :(得分:0)

试试这个,

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

答案 4 :(得分:0)

在科特林:

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

注意:这会将按钮文本显示为CharSequence,可能会在代码中使用更多位置。如果您确实要从那里开始使用String,那么可以使用.toString()

答案 5 :(得分:0)

按钮btn =(按钮)findViewById(R.id.btn);

String btnText = btn.getText()。toString();

此btnText之后可以使用

例如:if(btnText ==“用于比较的文本”)