如何将ViewPager添加为ListView中的顶部项目

时间:2012-09-06 19:31:54

标签: android android-listview android-viewpager rotator

我有一个vanilla“News”应用程序,其中主页面是一个ListView,它垂直滚动文章列表(thumbnail,title..etc)。这很好用,但现在我想添加一个水平文章/照片旋转器作为该列表中的顶部项目。我不在乎技术上是否在列表中,但是当拖动列表时它应该向上/向下滚动屏幕等等。我假设(d)它应该在列表中,但对于Android来说还是一个新手,并且不知道是否有更好的解决方案。

经过一整天的搜索,我仍然是空手而归 - 不知道如何添加它,或者即使它是正确的方法。我正在使用ViewPager作为我的图库视图(当他们点击一张照片时),这似乎工作正常...但这是整个视图......而且这个已经有一个填充listView的适配器...我希望我只是过于复杂化了。

TLDR

1) Can I add a ViewPager as top item in a ListView?
2) How would one go about doing it?
3) Is there a better solution?

注意:android:minSdkVersion =“8”android:targetSdkVersion =“15”

2 个答案:

答案 0 :(得分:2)

您可以使用ListView API中的addHeaderView()来设置标头。它可以是任何视图,也可以是ViewPager。我想你必须以编程方式添加它。尽管设置正确的高度。

答案 1 :(得分:0)

我不确定我理解你的问题。 ViewPager是一个与其他视图一样的视图,因此在ListView适配器的getView()方法中,返回包含ViewPager的视图。

ViewPager本身就是一个主题,所以如果您的问题是您不理解ViewPager,请阅读这些链接,

  

http://developer.android.com/reference/android/support/v4/view/ViewPager.html

     

http://android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html

如果您使用的是API级别8,则应使用兼容包中的ViewPager和朋友。

所有人都说,我想知道你是否会在可滚动视图中放置可滚动视图。我知道ViewPager包含将任何手势传递给子视图的代码,如果它决定它无法处理它们。我不能说ListView是否具有相同的智慧。