Android-如何更改此findViewById以使其正常工作?

时间:2018-07-17 01:14:17

标签: java android findviewbyid

Image Link

我正在尝试通过应用打开网页,这似乎是问题所在。

myWebView = (WebView) findViewById(R.id.webView);

我不确定这里要更改什么。

2 个答案:

答案 0 :(得分:4)

这只是一个警告,不应阻止您的执行。

从SDK 26开始,findViewById返回通用类型(<T extends View> T findViewById(int id)),因此使用(WebView)进行类型转换是多余的。

代替

myWebView = (WebView) findViewById(R.id.webView);

使用

myWebView = findViewById(R.id.webView);

您也可以按以下步骤为FloatingActionButton删除它:

FloatingActionButton fab = findViewById(R.id.fab);

注意:完成更改后,请清理并重建。编译器错误不是由于此警告引起的。

答案 1 :(得分:3)

您只需将lint warning强制转换为WebView。如果您什么都不做,那么它将起作用,但是如果您想避免此警告,请执行以下操作:

当前

myWebView = (WebView) findViewById(R.id.webView);

更改为

myWebView = findViewById(R.id.webView);

其他提示

刚在您所附的屏幕快照中注意到,在ToolbarFloatingActionButton的情况下也需要更改相同的内容。

删除投射(Toolbar)(FloatingActionButton)

有关此类型转换警告的更多信息,请检查this article


编译时错误

以上更改与编译错误无关。

要解决编译错误,请尝试使用文件> 无效的缓存/重新启动

Invalid Caches/Restart的屏幕截图: enter image description here