我需要以两种不同的模式显示我的数据:中型和大型视图。我有一个自定义适配器并将数据显示到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