究竟發生我看到這個有很多在getView適配器擴展覆蓋:什麼在getView
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.whatever, null);
}
我得到語義上發生了什麼 - 「如果convertView爲null,則它充氣」,但我真的不明白爲什麼 - 什麼情況會將視圖轉換爲空,在什麼情況下它已經是一個視圖?
此外(並且我知道「每個帖子有1個問題」),但是因爲它與上面的有關 - 在膨脹方法中究竟發生了什麼?我知道它一般不(「膨脹」視圖資源被解析並填充),但不完全神交它...
TYIA
適配器被AdapterView使用...一些實現AdapterView(AbsListView和其他)使用getView ...以及...獲取視圖,適配器項...有很多優化在這個實現...所以AbsListView(和其他)不會創建新的視圖,而是重用未使用。 ..我的意思,但「未使用」...我會嘗試向你展示的例子... ListView應該有大約100個元素...但只有5個是可見的,所以ListView將調用FXView getView與convertView ==空約7次,然後將嘗試指向未使用的一個作爲convertView ... – Selvin