3

我正在尝试解决一个似乎很多 Android 开发人员都遇到的问题,即如何在一个大的可滚动窗格中将列表与非列表数据散布。

我想到的模型是市场中单个应用程序的屏幕。你有一个很大的描述,一些懒加载评论的列表,然后是一些做不同事情的单独项目,比如访问开发者的网页,调用它们等等。然后在它们之间,是很好的部分标题。

模仿这种方法似乎非常困难。我已经阅读了足够多的 SO 答案和邮件列表帖子,知道不要将 ListView 放在 ScrollView 中,但我希望在不使用带有非常复杂的页眉和页脚视图的 addHeader() 和 addFooter() 的情况下获得相同的效果。

我尝试使用我自己存储视图的 LinearLayout,但我无法获得默认列表项所具有的令人愉悦的单击效果(橙色背景、白色用于长按等)。

我该怎么办?

4

3 回答 3

4

看看我的MergeAdapter,它旨在处理这样的场景。

于 2010-01-10T12:13:36.450 回答
2

为什么不使用标题?这很简单。在单独的布局中定义标题内容。您的活动布局只包含ListView您在底部想要的内容。没有滚动视图!

然后打电话

View headerView = getLayoutInflater().inflate(R.layout.header_layout, null);
ListView listView = (ListView) findViewById(R.id.my_list_view);
listView.addHeaderView(headerView, null, false);   

调用该表单以addHeaderView禁用标头至关重要。否则,它可以被选中,这看起来很奇怪。

于 2011-01-25T13:24:59.940 回答
0

马克的例子会奏效。基本上你需要一个具有不同视图类型的适配器。另一个很好的例子是 http://jsharkey.org/blog/2008/08/18/separating-lists-with-headers-in-android-09/ 它可能比 Mark 的更好,因为你想有分隔符并将事物组合在一起.

于 2010-01-10T14:45:40.333 回答