Android 从按下的按钮获取文本

Android 从按下的按钮获取文本,android,Android,如何从按下的按钮中获取文本?(安卓) 我可以通过按钮获取文本: String buttonText = button.getText(); 我可以通过按下按钮获取id: int buttinID = view.getId(); 我现在不知道如何在按下的按钮上获取文本 public void onClick(View view) { // Get the text on the pressed button } 在onClick()上传入的视图就是您要查找的按钮 public void

如何从按下的按钮中获取文本?(安卓)

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

String buttonText = button.getText();
我可以通过按下按钮获取id:

int buttinID = view.getId();
我现在不知道如何在按下的按钮上获取文本

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

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

public void onClick(View v) {
    // 1) Possibly check for instance of first 
    Button b = (Button)v;
    String buttonText = b.getText().toString();
}
1) 如果将非匿名类用作
onClickListener
,则可能需要检查
在强制转换视图之前,请键入视图类型,因为它可能与按钮不同。

如果您确定OnClickListener实例已应用于按钮,则可以将收到的视图强制转换为按钮并获取文本:

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();
在科特林:

myButton.setOnClickListener { doSomething((it as Button).text) }
注意:这会将按钮文本作为
CharSequence
,代码中的更多位置可能会使用它。如果您真的想从那里得到一个字符串,那么可以使用
.toString()

稍后可以使用此
btnText

例如:

if(btnText == "Text for comparison")

谢谢,它在添加了.tostring()之后就可以工作了,就像Scythe说的那样:)我忘了先将它强制转换到Button对象上。谢谢我正在寻找的东西。知道为什么只简单地“String buttonText=(Button)v).getText().tostring();“````吗不起作用吗?这应该也很好(除了缺少一个paren),上面只是让它更明显,因为它可以避免将按钮存储到变量,并直接将按下的视图元素转换为按钮。这将起作用,但您必须将其转换为字符串。所以它是:
strings=(String)((Button)v.getText()这实际上是一个副本,混合了一点投票结果,不是吗?如果不是,那么请解释区别以及为什么有必要回答这个问题。解释仅代码的答案也有助于消除StackOverflow是免费代码编写服务的误解。
if(btnText == "Text for comparison")