【问题标题】:ListAdapter Item ViewTypeListAdapter 项目 ViewType
【发布时间】:2011-05-04 12:39:27
【问题描述】:

我刚刚发现可以使用 adpater 的 getItemViewType() 来确定列表条目的类型。你能告诉我如何正确使用它吗?

目前,我在视图类中使用自定义类型整数,用于在列表适配器的 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;
}

【问题讨论】:

    标签: android android-listview listadapter


    【解决方案1】:

    我认为您的代码还可以,请查看this video 了解更多信息。

    【讨论】:

    • 我看过这个视频,但他们没有给出任何代码示例。
    • 对不起,我没有很好地解释自己,我认为没有比你的代码更好的方法了。 ://
    • 我同意,您正确使用的方法简单、快速,而且 - 最重要的是 - 有效,所以我会继续使用您所拥有的。
    【解决方案2】:

    我相信 UI 在回收视图时会在内部使用此值,以减少视图重新膨胀的数量。

    您可能想查看AgendaByDayAdapter.java 的用法示例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-18
      • 2011-06-08
      • 2020-10-22
      • 2016-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多