在获取/设置文本之前,将Button转换为String变量

时间:2015-05-01 04:59:13

标签: java android button casting

为什么这不起作用:

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

但这样做:

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

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

3 个答案:

答案 0 :(得分:2)

它无法找到方法getText(),因为您试图从方法findViewById

返回的Object类型中调用它

您忘记添加另一层括号以将其完全投射为按钮,以便您调用方法getText()

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

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

答案 1 :(得分:2)

忘记括号,

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

答案 2 :(得分:2)

将查看视图引用转换为Button后,您可以访问getText()的{​​{1}}方法:

添加关闭小括号后:

Button