我希望有一个包含两个片段的活动,一个包含listview(比屏幕高度更多的项目可以容纳),另一个包含另一个listview(只有几个元素)。片段A应该在片段B之上,但如果片段A中的列表视图滚动到末尾,片段B应该只是可见的。 例如:ListView1(片段A)包含20个项目(屏幕可以同时容纳6个项目),ListView2包含3个项目
Initial view Scrolled down to end of ListView1
|----------------| |-----------------|
| ListView1Item1 | | ListView1Item19 |
| ListView1Item2 | | ListView1Item20 |
| ListView1Item3 | | |
| ListView1Item4 | | ListView2Item1 |
| ListView1Item5 | | ListView2Item2 |
| ListView1Item6 | | ListView2Item3 |
|----------------| |-----------------|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:isScrollContainer="false"
android:id="@+id/containerOverview"></FrameLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/containerKommentar"
android:layout_below="@+id/containerOverview"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"></FrameLayout>
</RelativeLayout>
我以为我可以用ScrollView来做,但这只能容纳一个元素。
还有一些事情需要注意:我的两个片段都是以编程方式创建的,因为我需要将一些(动态)参数传递给它。
我希望你能理解我的问题并且有办法处理它。 谢谢
答案 0 :(得分:0)
你将第一个listView高度设置为wrap_content
,如果项目太长,那么它将占用屏幕,你可以做两件事:
1)使用LinearLayout并为每个listView设置权重,第二个listView可见性应该消失,你为第一个ListView设置onScrollListener并检查firstVisibleItem + visibleItemCount >= allItem
然后你的列表是否结束现在你可以改变第二个listView的可见性为真。
2)不要使用linearLayout并执行与(1)相同的其他操作,但也要动态更改第一个listView的高度。