【问题标题】:Cast Button as String variable before getting/setting text在获取/设置文本之前将按钮转换为字符串变量
【发布时间】:2015-05-01 04:59:12
【问题描述】:

这怎么不行:

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

但这确实:

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

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

【问题讨论】:

  • 您必须在此之后再放置一个右小括号: (R.id.my_Button) 就像 - ((Button)findViewById(R.id.my_Button)) 然后访问 Button getText() 方法.

标签: java android button casting


【解决方案1】:

找不到方法getText(),因为您试图从方法findViewById返回的Object类型调用它

您忘记添加另一层括号以将其完全转换为按钮以使您能够调用方法getText()

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

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

【讨论】:

    【解决方案2】:

    忘记括号了,

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

    【讨论】:

      【解决方案3】:

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

      添加右小括号后:

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

      【讨论】:

      • @LeonKowalski,很高兴为您提供帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      • 1970-01-01
      相关资源
      最近更新 更多