假设我有一个包含3行的列表视图。如果用户单击第1行中的按钮,则会展开菜单(它只是显示/隐藏的线性布局)。如果他们然后点击第2行中的某个项目,我希望能够折叠第1行中的菜单。这可能吗?如果是这样,怎么样?
答案 0 :(得分:1)
您始终可以使用getContext()
上的View
来获取对包含Activity
的引用,您可以将其转换为ListActivity
(假设您正在使用该((ListActivity) v.getContext()).getListAdapter().getItem(1)
)并调用通常的方法来获取ListAdapter中该位置的数据:
notifyDataSetChanged()
然后,您可以根据需要操纵数据,并在ListAdapter上调用ExpandableListView
。
但是,您和您的用户只需使用ExpandableListView
就可以更轻松地很多,这会为您提供可扩展的列表,其中包含您的用户已经知道的可预测的互动。您可以在AOSP中的浏览器源代码中查看历史记录活动,以获取真实示例。如果它不能完全满足您的需求,您可以随时从Android源代码中挑选{{1}}本身的代码。
答案 1 :(得分:1)
保存对您希望稍后操作的视图的引用。可能包含final
变量,那么你很容易改变。