想請問各位大大
BaseExpandableListAdapter 的 getChildView(..., View convertView, ...);
因為我有多種 child view的 layout
每種 layout 都依據 group 做分類
switch( groupPosition){
case 0: convertView = new ChildView0(); break;
case 1: convertView = new ChildView1(); break;
case 2: ...........................2.........;
default: break;
}
因為不同 child view的關係
變成說,我每次不能只檢查
if(convertView == null){
「這裡是上面的switch」;
}
else{ }
然後直接assign它的內容,
又因為 convertView 'reuse'的關係
下次我要使用的時候
變成我要先確定 convertView 的 type
以 groupPosition = 0 為例
if(convertView instanceof ChildView0){
「因為型別對了才可以直接使用」
}
else{
「雖然 convertView != null, 但是因為型別不對所以重新new ChildView0」
//這樣就變成完全沒用到 convertView reuse的優點了?
}
抱歉有點難表達
單純就這有甚麼好解法嗎?
謝謝!