Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ScrollView下的ListView_Android - Fatal编程技术网

Android ScrollView下的ListView

Android ScrollView下的ListView,android,Android,是否可以将列表视图放在滚动视图下。我有一个页面,上面有一堆不适合屏幕的项目,所以我使用滚动视图。然后我想要一个listview在所有这些项目下放置注释 我已经做了一个测试来测量listview的高度,并将其放置在scrollview中,但我知道这是不受欢迎的,所以有没有一种方法可以将其放置在scrollview下?样本代码将是伟大的。我试着用XML将它放在下面,但它没有显示在屏幕上。谢谢 <ScrollView android:id="@+id/tabone2"

是否可以将列表视图放在滚动视图下。我有一个页面,上面有一堆不适合屏幕的项目,所以我使用滚动视图。然后我想要一个listview在所有这些项目下放置注释

我已经做了一个测试来测量listview的高度,并将其放置在scrollview中,但我知道这是不受欢迎的,所以有没有一种方法可以将其放置在scrollview下?样本代码将是伟大的。我试着用XML将它放在下面,但它没有显示在屏幕上。谢谢

<ScrollView
        android:id="@+id/tabone2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/backrepeat"
            android:orientation="vertical" >

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="fill_parent"
                android:layout_height="10dp"
                android:layout_gravity="center_vertical"
                android:src="@drawable/mainimage" >
            </ImageView>

            <View
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909" />

            <TextView
                android:id="@+id/Description"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#000000"
                android:gravity="center_horizontal"
                android:text="TITLE"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#ffffff" >
            </TextView>

            <View
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909" />

            <TextView
                android:id="@+id/tvTrack"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginBottom="10dip"
                android:layout_marginTop="10dip"
                android:gravity="center_horizontal"
                android:text="Trackname"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textStyle="bold" >
            </TextView>

            <View
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909" />

            <TextView
                android:id="@+id/ratetitle"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#000000"
                android:gravity="center_horizontal"
                android:text="RATE"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#ffffff" >
            </TextView>

            <View
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909" />

            <RatingBar
                android:id="@+id/ratingbar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:numStars="5"
                android:paddingBottom="6dp"
                android:paddingTop="10dip"
                android:stepSize="0.5" />

            <Button
                android:id="@+id/ratingbutton"
                android:layout_width="wrap_content"
                android:layout_height="40dp"
                android:layout_gravity="center_horizontal|center_vertical"
                android:layout_marginBottom="10dip"
                android:layout_marginTop="7dip"
                android:background="@drawable/pagebutton"
                android:gravity="center_horizontal|center_vertical"
                android:text="Submit Rating"
                android:textStyle="bold"
                android:textSize="10sp" >
            </Button>

             <View
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909" />

            <TextView
                android:id="@+id/favorite"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#000000"
                android:gravity="center_horizontal"
                android:text="FAVORITE"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#ffffff" >
            </TextView>

            <View
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909"
                android:layout_marginBottom="10dip" />
            <RelativeLayout android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dip">

            <Button
                android:id="@+id/favoritebutton"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"                  
                android:background="@drawable/pagebutton"
                android:gravity="center_horizontal|center_vertical"
                android:text="Add to Favorites"
                android:layout_marginLeft="7dip"
                android:layout_marginRight="7dip"
                android:textStyle="bold"
            >
            </Button>
            <ProgressBar
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/progress_bar5"     
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:gravity="center_horizontal|center_vertical"
    android:layout_gravity="center_horizontal|center_vertical"
    android:indeterminate="true"
    android:visibility="gone" />
            </RelativeLayout>

            <View
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909" />

            <TextView
                android:id="@+id/Description"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#000000"
                android:gravity="center_horizontal"
                android:text="DETAILS"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#ffffff" >
            </TextView>

            <View
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909"
                android:layout_marginBottom="10dip" />

            <TextView
                android:id="@+id/tvTime"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginLeft="10dip"
                android:layout_marginRight="10dip"
                android:gravity="center_horizontal"
                android:text="Tracktime"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textStyle="bold" >
            </TextView>

            <TextView
                android:id="@+id/tvViews"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textStyle="bold" >
            </TextView>

            <TextView
                android:id="@+id/tvRatings"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textStyle="bold" >
            </TextView>

            <TextView
                android:id="@+id/tvPlays"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:textStyle="bold" >
            </TextView>

            <TextView
                android:id="@+id/tvDownloads"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:layout_marginBottom="10dip"
                android:textStyle="bold" >
            </TextView>

            <View
                android:id="@+id/viewdesc1"
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909" />

            <TextView
                android:id="@+id/Description2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#000000"
                android:gravity="center_horizontal"
                android:text="DESCRIPTION"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#ffffff" >
            </TextView>

            <View
                android:id="@+id/viewdesc2"
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909"
                android:layout_marginBottom="10dip" />

            <TextView
                android:id="@+id/tvDescription"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:gravity="center_horizontal"
                android:layout_marginBottom="10dip"
                android:textAppearance="?android:attr/textAppearanceLarge" >
            </TextView>

            <Button
                android:id="@+id/playbutton1"
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_marginLeft="7dip"
                android:layout_marginRight="7dip"
                android:layout_marginTop="7dip"
                android:background="@drawable/pagebutton"
                android:text="PLAY"
                android:textStyle="bold" >
            </Button>

            <Button
                android:id="@+id/downloadbutton3"
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_marginBottom="30dp"
                android:layout_marginLeft="7dip"
                android:layout_marginRight="7dip"
                android:layout_marginTop="7dip"
                android:background="@drawable/pagebutton"
                android:text="DOWNLOAD"
                android:textStyle="bold" >
            </Button>

            <View
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909" />

            <TextView
                android:id="@+id/tvComments"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#000000"
                android:gravity="center_horizontal"
                android:text="COMMENTS"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#ffffff" >
            </TextView>

            <View
                android:layout_width="fill_parent"
                android:layout_height="2dip"
                android:background="#b00909"
                android:layout_marginBottom="10dip" />

            <ListView
            android:id="@+id/lvComments"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#00000000"
            android:cacheColorHint="#00000000"
            android:divider="#00000000"
            android:listSelector="#00000000" />


            <EditText 
              android:id="@+id/etComments"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:layout_marginTop="5dip"
              android:layout_marginBottom="5dip"
              android:layout_marginLeft="7dip"
              android:layout_marginRight="7dip"
              android:hint="Add comment..."
              android:singleLine="false"/>
            <Button
                android:id="@+id/btnAddComment"
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:layout_marginBottom="30dp"
                android:layout_marginLeft="7dip"
                android:layout_marginRight="7dip"
                android:layout_marginTop="7dip"
                android:background="@drawable/pagebutton"
                android:text="Post Comment"
                android:textStyle="bold" >
            </Button>


        </LinearLayout>
    </ScrollView>


我没有包括ViewFlipper部分…

我所做的是使用了
LinearListView
,因此回答:


它允许您将线性列表视图放置在scrollview内部,以便您可以将其与列表之外的其他可滚动内容混合使用。

如果您确实想要列表视图,您可以将布局的两部分放在 从而避免了同时显示两个滚动视图的问题。我自己还没试过,所以这是一次冒险


除非列表中有大量数据,否则建议使用Joel提到的方法。

我通过将列表上方的所有内容放在列表页眉中,将列表下方的所有内容放在列表页脚中解决了这个问题。谢谢你的投入

使用这种方法

 public static void setListViewHeightBasedOnChildren(ListView listView) {
            ListAdapter listAdapter = listView.getAdapter(); 
            if (listAdapter == null) {
                // pre-condition
                return;
            }

            int totalHeight = 0;
            for (int i = 0; i < listAdapter.getCount(); i++) {
                View listItem = listAdapter.getView(i, null, listView);
                listItem.measure(0, 0);
                totalHeight += listItem.getMeasuredHeight();
            }

            ViewGroup.LayoutParams params = listView.getLayoutParams();
            params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
            listView.setLayoutParams(params);
        }
public static void setListViewHeightBasedOnChildren(ListView ListView){
ListAdapter ListAdapter=listView.getAdapter();
如果(listAdapter==null){
//前提条件
返回;
}
int totalHeight=0;
对于(int i=0;i
我在scrollview中已经有了一个listview,我希望摆脱它,因为它不受欢迎,我希望它是一个无休止的加载列表(注释),但这是我的观点,因为listview的实现不受欢迎。但是LinearListView(另一个答案中的源代码)只是扩展了一个常规的LinearLayout,这对于进入ScrollView来说是非常好的。它非常长,因为我使用的是ViewFlipper,但是好的。添加headerview可以吗?我不敢尝试,因为要移动的代码太多,而且我从来没有使用过listview标题。你认为我可以将listview上方的所有项目都放在listview的标题中吗?这可能会起作用,可能会有点奇怪,但如果它解决了你的问题,我想这一切都很好:DIt工作得很好。布局很好,一切都很好,侧边的滚动条只是根据正在滚动的部分改变大小。。(页眉、列表、页脚)