是否可以以某种方式从MergeAdapter
删除视图或适配器?我尝试对其进行扩展并从pieces
中移除视图,但它是private
。或者可能有另一种解决方案来显示/隐藏此适配器中的视图?我尝试将其layout_height
设置为零,并将可见性设置为View.GONE
,但它仍显示空列表项。提前谢谢。
答案 0 :(得分:8)
要从MergeAdapter
删除视图或适配器,请使用以下方法:
setActive()
。
例如:
要从Textview
(merAdapter)中删除MergeAdapter
(mytextView),请使用:
merAdapter.setActive(mytextViiew,false);
再次启用它(使其可见)使用:
merAdapter.setActive(mytextViiew,true);
有关详细信息,请参阅MergeAdapter
文档:
答案 1 :(得分:6)
是否可以以某种方式从MergeAdapter中删除视图或适配器?
目前不对,抱歉。添加它应该不会太难(从集合中删除它并调用notifyDataSetChanged()
来更新AdapterView
)如果你想要它。欢迎捐款! : - )
答案 2 :(得分:1)
你的MergeAdapter应该有一个名为getCount()
的方法..如果我理解你的话,从那里返回零可以解决你的问题..
答案 3 :(得分:1)
扩展Mark Murphy的回答,我认为这就像将此方法添加到MergeAdapter一样简单:
public void removeAdapter(ListAdapter la) {
pieces.remove(la);
}
remove()
接受一个物体,并将完成所有必要的测试。如果该对象包含在片段列表中,则为您删除。你可以为了自己的目的让这个回归一个bool或者什么东西,但我没有这样的需要。
然后打电话给:
int view_to_remove = *AN_INT*
adapter.removeAdapter(listAdapter.getAdapter(view_to_remove));
adapter.notifyDataSetChanged();