我想使用针对eclipse的Find Bugs插件测试我的应用程序,我遇到了这种错误:
未经检查/未确认的从android.view.View转换为返回值的android.widget.EditText
和代码部分是这样的:
((EditText) findViewById(R.id.EditText)).setEnabled(true);
那是什么错误? 我试着这样写:
if(findViewById(R.id.otherEditText) instanceof EditText)
((EditText) findViewById(R.id.otherEditText)).setEnabled(true);
但是没有结果,出现了同样的错误
答案 0 :(得分:3)
问题是FindBugs无法确定方法调用每次都会给出相同的结果。所以它必须假设测试中的结果不同以及演员发生的地方。
为了将此信息提供给FindBugs,请尝试以下方法:
findViewById(R.id.otherEditText)
的结果分配给临时变量而不进行强制转换。if
和强制转换。这样,FindBugs可以看到检查的值和使用的值是相同的。