1
Sonar Lint指出我應該引入一個新變量,而不是重新使用該參數。Android小部件和變量不應該被重新分配
在我extendedListView適配器我
@Override
public View getGroupView(... , View convertView , ...){
if(convertView == null){
// gets the layoutInflater
convertView = inflater.inflate(R.layout.group_item, parent, false);
}
// then all the fill the list with data stuff
return convertView;
}
聲納使得一個好點,我想我應該做些別的事情,但我不知道有什麼可以在這種情況下進行。我需要檢查convertView是否爲null,否則我會每次都替換它,但同時這個錯誤在任何標準的java代碼中都是有意義的,而不是在這個小部件內部。我將如何解決這個問題?
重新分配變量不會取代它!你只是重新指定它的指針,這就是爲什麼它會警告你 – Kerooker
我隱約記得這是java中的代碼異味,因爲編譯器沒有檢查它,並且在運行時你可能有一個NPE,在這種情況下,它會崩潰的應用程序,如果它返回null – h4mme7