【发布时间】:2015-07-20 21:09:22
【问题描述】:
我正在开发一个 Android 应用程序,最近接到了一项任务,我需要更新包含搜索结果的现有 ListView,以便在第一个位置包含一个水平滚动的卡片列表。每张卡片都应该是可点击的,但我仍然应该能够垂直滚动整个列表。
我想我可以通过使用 HorizontalScrollView 作为列表中第一项的自定义视图来实现这一点。但是,有没有办法将水平列表和现有的 ListView 分开,同时保持垂直滚动的能力?
【问题讨论】:
我正在开发一个 Android 应用程序,最近接到了一项任务,我需要更新包含搜索结果的现有 ListView,以便在第一个位置包含一个水平滚动的卡片列表。每张卡片都应该是可点击的,但我仍然应该能够垂直滚动整个列表。
我想我可以通过使用 HorizontalScrollView 作为列表中第一项的自定义视图来实现这一点。但是,有没有办法将水平列表和现有的 ListView 分开,同时保持垂直滚动的能力?
【问题讨论】:
我不完全确定您将水平列表和 ListView 分开是什么意思,但我认为您可以通过将 HorizontalScrollView 作为 HeaderView 添加到 ListView 来实现您想要的,如下所述:
【讨论】:
给 ListView 添加一个 HeaderView 怎么样?
ListView list = (ListView) getView().findViewById(R.id.my_list);
LayoutInflater inflater = getActivity().getLayoutInflater();
ViewGroup header =(ViewGroup)inflater.inflate(R.layout.header, list, false);
HorizontalScrollView sv = (HorizontalScrollView)header.findViewById(R.id.scroll_list);
sv.setAdapter(adapter);
list.addHeaderView(header, null, false);
【讨论】:
请检查此示例Horizontal Listview inside vertical listview in android 通过放置一些条件,您还可以在垂直列表视图中添加其他卡
【讨论】: