scrollView里面的片段

时间:2013-06-06 12:51:58

标签: android scrollview fragment

我需要在滚动视图中有一个arrayAdapter(片段),下面有按钮, 不幸的是,当我这样做时,我的片段具有一个元素的大小并且自己滚动

这是我的观点:

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <fragment
            android:id="@+id/myfragment"
            android:name="com.myapply.MyListFragment"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="clip_vertical" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="TEST TEST TEST"
            android:textColor="#FFFFFF"
            android:textSize="25dp" />
    </LinearLayout>
</ScrollView>

欢迎任何帮助

2 个答案:

答案 0 :(得分:1)

简短的回答是你不能在ScrollView中拥有ListView。这是related SO thread

查看您的布局,您可以将其重新设计为RelativeLayout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <fragment
            android:id="@+id/myfragment"
            android:name="com.myapply.MyListFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="clip_vertical"
            android:layout_above="@+id/bottomTextView" />

        <TextView
            android:id="@+id/bottomTextView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="TEST TEST TEST"
            android:textColor="#FFFFFF"
            android:layout_alignParentBottom="true"
            android:textSize="25dp" />

</RelativeLayout>

答案 1 :(得分:0)

我做了类似的事情,我使用视图ID作为片段的“钩子”。

根据我对Fragments的理解,他们需要挂钩到特定的View ID,否则它们不会显示。我只是创建了一个View容器,它有20个空子视图,所有id都是0-19。我用Activity加载了它,然后将片段附加到我想要的视图中。

看起来像:

<LinearLayout android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <FrameLayout
        android:id="@+id/fragment_0"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    ....
    <FrameLayout
        android:id="@+id/fragment_19"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
</LinearLayout>

我不像今天那样动态地创建和附加子视图。这些天,我想我只有一个空的LinearLayout或ScrollView,然后动态附加视图并根据需要为它们生成ID。我遇到的一个问题是,无法将Fragments分离并重新连接到除了自己的ViewID之外的任何东西;一旦附加到ViewID,它必须重新连接到同一个ViewID。小的减速,但如果保留此ID,则可能无法重新创建新的FrameLayout并将ID设置为之前的状态(不确定)。

使用这种方法: 1)使用LinearLayout或ScrollView创建一个Activity(还没有子视图)。 2)对于您要附加的每个片段,创建一个新的FrameLayout(或其他) 3)将FrameLayout(或其他)的ViewID设置为新生成的视图ID,如果片段先前已连接,则设置为先前的id。 4)将FrameLayout(或其他)添加到LinearLayout / ScrollView。 5)使用FragmentManager将片段附加到刚添加的视图。

希望这有帮助。