我试图让我的应用程序的用户可以选择更改他们希望结果显示的方式。
我为每个视图创建了一个不同的布局项,并从BaseAdapter
如下扩展:
public View getView(int index, View recycledCompatibleView, ViewGroup parent)
{
// Just in case the view can be reused
View toReturn = recycledCompatibleView;
if(toReturn == null)
{
LayoutInflater inflator = LayoutInflater.from(parent.getContext());
toReturn = inflator.inflate(layoutId, null);
}
...
}
public void setResultsListStyle(int layoutId)
{
this.layoutId = layoutId;
}
调用notifyDataSetChanged()
(可通过调试观察到)刷新视图,因为新视图正在膨胀并从getView()
方法返回。
但是屏幕上的视图没有改变......
有什么我想念的吗?