2010-08-22 61 views
0

我使用的是來自CommonsGuy的「Efficient Adapter」和EndlessAdapter的混合,有時候getView()中的持有者爲空。使用「高效適配器」時,持有者有時爲空

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    ViewHolder holder; 

    if (convertView == null) { 
     convertView = inflater.inflate(R.layout.queue_item, null); 

     holder = new ViewHolder(); 
     holder.text = (TextView) convertView.findViewById(R.id.queueItemText); 
     holder.image = (ImageView) convertView.findViewById(R.id.queueItemImage); 
     convertView.setTag(holder); 
    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 

    if (holder != null) { 
     holder.text.setText(queueItems.get(position).getTitle().getName()); 
    } else { 
     Log.e(context.getString(R.string.app_name), "holder is null for some reason ..."); 
    } 

    return convertView; 
} 

我已經把代碼的其餘部分都爲我的課here的,因爲它是相當大的內聯粘貼。

一旦整個數據集被加載,向上滾動&導致行消失並重新出現。

回答

0

請確保您使用的是最新的EndlessAdapter,因爲它在幾周前更新,我記得。

如果這沒有幫助,並且如果您可以給我一個複製問題的完整項目(不僅僅是幾個類),我可以嘗試修復它。請通過cw-android Google Group聯繫我,支持EndlessAdapter以及我的其他組件。

+0

我使用0.2.1從github。 我必須創建一個複製問題的東西(除非您有一個可以使用以下密鑰的Lovefilm開發帳戶:-) 給我幾天,我將通過Google小組與您聯繫。 – 2010-08-23 16:01:02

+0

@Stuart Grimshaw:因爲我從來沒有聽說過「Lovefilm」,我猜測我沒有開發者帳戶...... :-)我期待着這個示例項目,所以我可以壓縮這個bug。 – CommonsWare 2010-08-23 21:42:42

+0

有帳戶可以使用,但它需要我輸入我的信用卡詳細信息,顯然我不想這樣做:-) 我試圖重新創建問題,而不使用外部數據源。 – 2010-08-31 23:13:18

相關問題