如何从按下的按钮获取文字? (机器人)
我可以通过按钮获取文字:
String buttonText = button.getText();
我可以通过按下按钮获取id:
int buttinID = view.getId();
此时我无法找到的是如何在按下的按钮上显示文字。
public void onClick(View view) {
// Get the text on the pressed button
}
答案 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 ==“用于比较的文本”)