2011-05-04 72 views
0

我剛剛發現了使用adpater的getItemViewType()來確定列表條目類型的可能性。你能否向我提供一個關於如何正確使用它的描述?ListAdapter項目ViewType

當前我在視圖類中使用了一個自定義類型的整數,用於在列表適配器的getView()中創建視圖。使用適配器的內置功能是否是更好的解決方案?

我當前的代碼:

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    IFilterable data = filteredData.get(position); 
    if(convertView == null || convertView.getId() != data.getType()) { 
     switch(data.getType()) { 
      case IReport.SPECIAL_ACTION: 
       convertView = new SpecialActionView(context); 
       ((SpecialActionView) convertView).set(((SpecialAction) data)); 
       break; 
      case IReport.TRANSFER_DECLARATION: 
       convertView = new TransferDeclarationView(context); 
       ((TransferDeclarationView) convertView).set(((TransferDeclaration) data)); 
       break; 
     } 
    } 
    return convertView; 
} 

回答

1

的一個例子,我覺得你的代碼是好的,看看this video更多的信息。

+0

我看過這個視頻,但他們沒有提供任何代碼示例。 – dbrettschneider 2011-05-04 12:57:10

+0

我很抱歉,我沒有很好地解釋我自己,我認爲沒有比您的代碼更好的方法。 :/ – Jokahero 2011-05-04 13:15:32

+0

我同意,你使用正確的方法很簡單,快速,而且 - 最重要的 - 工作,所以我會留在你有什麼。 – Dave 2011-05-04 13:25:41

0

我相信這個值是由UI內部使用回收的看法時,減少查看重新通貨膨脹的量。

你可能想看看AgendaByDayAdapter.java其使用