在 getting/setting 文本之前将按钮转换为字符串变量

Cast Button as String variable before getting/setting text

为什么这不起作用:

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

但是这样做:

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

getText() 方法无法解析,但我不确定为什么这两行本质上是相同的。

找不到方法 getText(),因为您正试图从方法 findViewById

返回的对象类型中调用它

您忘记添加另一层括号将其完全转换为 Button 以便您调用方法 getText()

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

对于第二个示例,您直接转换它并引用 Button 对象,因此您可以直接从按钮对象本身调用 getText 方法

忘了括号,

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

将查找视图引用转换为 Button 之后,您可以访问 ButtongetText() 方法:

添加右小括号后:

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