从android.view查找未经检查/未经确认的错误eclipse插件
我想使用eclipse的Find Bugs插件测试我的应用程序,我发现了这样的bug: 从android.view.view到android.widget.EditText的未检查/未确认强制转换返回值 代码部分是这样的:从android.view查找未经检查/未经确认的错误eclipse插件,android,eclipse,findbugs,Android,Eclipse,Findbugs,我想使用eclipse的Find Bugs插件测试我的应用程序,我发现了这样的bug: 从android.view.view到android.widget.EditText的未检查/未确认强制转换返回值 代码部分是这样的: ((EditText) findViewById(R.id.EditText)).setEnabled(true); 那么什么是错误呢? 我试着这样写: if(findViewById(R.id.otherEditText) instanceof EditText)
((EditText) findViewById(R.id.EditText)).setEnabled(true);
那么什么是错误呢?
我试着这样写:
if(findViewById(R.id.otherEditText) instanceof EditText)
((EditText) findViewById(R.id.otherEditText)).setEnabled(true);
但是没有结果,出现了相同的错误问题是FindBugs无法确保每次方法调用都给出相同的结果。因此,它必须假设测试的结果不同,并且在哪里进行转换 要将此信息提供给FindBugs,请尝试以下操作:
- 将
的结果分配给临时变量而不强制转换findViewById(R.id.otherEditText)
- 然后使用变量执行
和强制转换if
通过这种方式,FindBugs可以看到检查的值和使用的值是相同的。感谢它的工作。把你的评论作为回答,我会接受的!