【发布时间】:2019-02-06 16:17:39
【问题描述】:
我无法在我的代码中使用findViewById('R.id.textView').setText("message"),Android Studio 显示此错误
无法解析方法'setText(java.lang.String)
这与这个问题Android: Why can I not setText in the same line as findViewById 不同,因为在更新的android 版本中,我们不再需要为findViewById() 方法进行强制转换,有关更多详细信息,请参阅此问题No need to cast the result of findViewById?
最重要的是,如果我首先将findViewById 的结果保存在一个变量中(无需手动将其转换为 TextView),即
TextView textview = findViewById(R.id.textview);
textview.setText("message");
上面的代码可以正常工作,如果 findViewById 返回View 对象,那么它也不应该工作,如果它返回TextView 对象,那么一个线性代码findViewById('R.id.textView').setText("message") 应该也可以工作。
我知道如果我将它投射到 TextView 中,它就会起作用。但我的问题是,如果它已经返回 TextView 对象,为什么我需要强制转换? 谢谢!
【问题讨论】: