2015-08-09 24 views
0

我有幾組EditText,我設置爲按鈕單擊時可見。在我的onClick中,它表示我的方法太複雜,無法通過數據流算法進行分析。我運行它時,代碼工作正常。我怎樣才能消除這個錯誤?或者我應該忽略它,因爲代碼工作正常?任何幫助將不勝感激,謝謝。在EditText可見性上獲取數據流算法錯誤

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語句更清潔的方法,理想情況下,您可能想要做的是將想要顯示的edittext作爲參數傳遞給該方法:

public void showEditText(EditText et1, EditText et2) { 
    if(!et1.isShown() && !et2.isShown()){ 
     et1.setVisibility(View.VISIBLE); 
     et2.setVisibility(View.VISIBLE); 
    } 
} 
+0

是的,我試過了,它仍然給我警告。由於代碼工作正常,我應該擔心數據流算法警告嗎? –

+0

你可以發佈一些更多的代碼,你試圖實現什麼,以及你從哪裏調用這個方法? – androholic

+0

其實我修好了。我不使用if/else語句,而是使用布爾值來檢查前面的EditText是否顯示,然後使下一個EditText可見。感謝您的意見。 –