Android:具有2种布局的自定义适配器

时间:2011-04-27 10:19:31

标签: android layout adapter

我需要以两种不同的模式显示我的数据:中型和大型视图。我有一个自定义适配器并将数据显示到listview中。当我点击列表视图项目时,我开始一个新的活动。随着我的适配器布局一切都很完美。现在我尝试在适配器中的两个布局之间切换:我设置为适配器视图模式,然后调用notifyDataSetChanged:

    ticketsAdapter.setViewMode(ViewMode.Large);
    ticketsAdapter.notifyDataSetChanged();

这也有效,现在我可以看到更多信息(大行布局比中等视图有更多的字段)。 问题是改变了对listview项目的点击,它不再起作用了。 在我的适配器的getView方法中我做了一些这样的思考:

LayoutInflater li = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        switch (viewMode) {
        case Large:
            v = li.inflate(R.layout.row_large, null);
            break;
        case Medium:
            v = li.inflate(R.layout.row_medium, null);
            break;
        default:
            v = li.inflate(R.layout.row_medium, null);
            break;
        }

有人能帮忙吗?

修正:

我有一个textview:

android:inputType="text"

这导致了这个问题。 TX

0 个答案:

没有答案