是否可以以某种方式删除视图或适配器MergeAdapter
?我会尝试扩展它并从中删除视图,pieces
但它是private
. 或者也许有另一种解决方案可以在此适配器中显示/隐藏视图?我尝试将其layout_height
设置为零并将可见性设置为View.GONE
,但它仍然显示空列表项。提前致谢。
问问题
1332 次
4 回答
8
要删除视图或适配器,MergeAdapter
请使用以下方法:
setActive()
在您的 mergeAdapter 实例上。
例如:要从Textview
(merAdapter) 中删除 (mytextView),MergeAdapter
请使用:
merAdapter.setActive(mytextViiew,false);
并再次启用它(使其可见)使用:
merAdapter.setActive(mytextViiew,true);
有关详细信息,请参阅MergeAdapter
文档:
于 2014-03-06T07:53:32.050 回答
6
是否可以以某种方式从 MergeAdapter 中删除视图或适配器?
暂时没有,抱歉。如果您想试一试,添加(从集合中删除并调用notifyDataSetChanged()
更新)应该不会太难。AdapterView
欢迎投稿!:-)
于 2011-08-04T21:27:32.683 回答
1
您的 MergeAdapter 应该有一个名为getCount()
.. 如果我理解正确的方法,从那里返回零可能会解决您的问题..
于 2011-08-04T10:04:52.157 回答
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();
于 2011-11-02T20:44:48.270 回答