我有几组EditText,我在按钮点击时设置为可见。在我的onClick上,它说我的方法过于复杂,无法通过数据流算法进行分析。我运行它时代码工作正常。如何删除此错误?或者我应该忽略它,因为代码工作正常?任何帮助将不胜感激,谢谢。
public void showEditText(){ //method is too complex to analyze by data algorithm
if(!et1.isShown() && !et2.isShown()){
et1.setVisibility(View.VISIBLE);
et2.setVisibility(View.VISIBLE);
}else if(!et2.isShown() && !et3.isShown()){
et2.setVisibility(View.VISIBLE);
et3.setVisibility(View.VISIBLE);
}else if(!et4.isShown() && !et5.isShown()){
et4.setVisibility(View.VISIBLE);
et5.setVisibility(View.VISIBLE);
}else if(!et6.isShown() && !et7.isShown()){
et6.setVisibility(View.VISIBLE);
et7.setVisibility(View.VISIBLE);
}else if(!et8.isShown() && !et9.isShown()){
et8.setVisibility(View.VISIBLE);
et9.setVisibility(View.VISIBLE);
}else if(!et10.isShown() && !et11.isShown()){
et10.setVisibility(View.VISIBLE);
et11.setVisibility(View.VISIBLE);
}else if(!et12.isShown() && !et13.isShown()){
et12.setVisibility(View.VISIBLE);
et13.setVisibility(View.VISIBLE);
}else if(!et14.isShown() && !et15.isShown()){
et14.setVisibility(View.VISIBLE);
et15.setVisibility(View.VISIBLE);
}
答案 0 :(得分:1)
您收到错误是因为您的代码对于IntelliJ的数据流算法来说过于复杂。而不是所有if else语句更清晰的方法,理想情况下你可能想要做的是传递你想要显示为方法的参数的edittexts:
public void showEditText(EditText et1, EditText et2) {
if(!et1.isShown() && !et2.isShown()){
et1.setVisibility(View.VISIBLE);
et2.setVisibility(View.VISIBLE);
}
}