2

I have made a xml display with some items . But my listView of that xml is not scrolling. I have made a scrollView and the listView is inside the scrollView , is it a problem ? If I design display with keeping the listView out side the scrollView, then the lisViw is not showing on my android device display. I need such a display where need a scrollView and scrolling listview. My code is given below.

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android" >

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

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/head_logo" >
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/cardlistButton"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/head_menu04" />

    <View
        android:layout_width="1dip"
        android:layout_height="fill_parent"
        android:background="#ffffff" />

    <Button
        android:id="@+id/cameraButton"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/head_menu02" />

    <View
        android:layout_width="1dip"
        android:layout_height="fill_parent"
        android:background="#ffffff" />

    <Button
        android:id="@+id/homeButton"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@drawable/head_menu03" />
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/title_detail"
    android:gravity="right|center_vertical" >
</LinearLayout>

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF"
        android:gravity="center"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dip"
            android:layout_marginRight="15dip"
            android:orientation="vertical"
            android:paddingBottom="10dip"
            android:paddingTop="15dip" >

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="7dip"
                android:orientation="horizontal" >

                <TextView
                    android:layout_width="80dip"
                    android:layout_height="wrap_content"
                    android:gravity="left"
                    android:text="STATUS :"
                    android:textColor="#666666"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/pdtvText1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dip"
                    android:text=""
                    android:textColor="#666666"
                    android:textStyle="bold" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="7dip"
                android:orientation="horizontal" >

                <TextView
                    android:layout_width="80dip"
                    android:layout_height="wrap_content"
                    android:gravity="left"
                    android:text="注文日 :"
                    android:textColor="#666666"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/pdtvText2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dip"
                    android:text=""
                    android:textColor="#666666"
                    android:textStyle="bold" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="7dip"
                android:orientation="horizontal" >

                <TextView
                    android:layout_width="80dip"
                    android:layout_height="wrap_content"
                    android:gravity="left"
                    android:text="納品日 :"
                    android:textColor="#666666"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/pdtvText3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dip"
                    android:text=""
                    android:textColor="#666666"
                    android:textStyle="bold" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="7dip"
                android:orientation="horizontal" >

                <TextView
                    android:layout_width="80dip"
                    android:layout_height="wrap_content"
                    android:gravity="left"
                    android:text="依頼枚数 :"
                    android:textColor="#666666"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/pdtvText4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dip"
                    android:text=""
                    android:textColor="#666666"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/pdtvText41"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dip"
                    android:text=""
                    android:textColor="#FF0000"
                    android:textStyle="bold" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="7dip"
                android:orientation="horizontal" >

                <TextView
                    android:layout_width="80dip"
                    android:layout_height="wrap_content"
                    android:gravity="left"
                    android:text="納品枚数 :"
                    android:textColor="#666666"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/pdtvText5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dip"
                    android:text=""
                    android:textColor="#666666"
                    android:textStyle="bold" />
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/errorLayout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/subtitle_error"
            android:gravity="right|center_vertical" >
        </LinearLayout>

        <LinearLayout
            android:id="@+id/bluebar"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/subtitle_deli"
            android:gravity="right|center_vertical" >
        </LinearLayout>

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dip"
            android:gravity="left"
            android:paddingBottom="5dip"
            android:paddingTop="5dip"
            android:text="      "
            android:textColor="#666666"
            android:textStyle="bold" />

        <ImageView
            android:id="@+id/imageviewproduct"
            android:layout_width="300dip"
            android:layout_height="180dip"
            android:layout_marginBottom="10dip"
            android:scaleType="fitXY" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="11.89" >

            <ListView
                android:id="@+id/productlistall"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:cacheColorHint="#00000000" >
            </ListView>
        </LinearLayout>
    </LinearLayout>

 </ScrollView>

</LinearLayout>
</merge>
Michael Easter
  • 23,733
  • 7
  • 76
  • 107
TKumar
  • 818
  • 2
  • 10
  • 35
  • 3
    its a bad practice to keep listview inside scrollview – rajpara Jul 11 '12 at 11:25
  • in android listview do not work inside scrollview – AkashG Jul 11 '12 at 11:28
  • this is a bad practice. even thought if you want to implement then search in Stackoverflow/google. one answer i found usefull here is link http://stackoverflow.com/a/11044386/582571 – rajpara Jul 11 '12 at 12:43

3 Answers3

6
Never add ListView,MapView,WebView(its already scrollable) in ScrollView

Remove from ScrollView.

Samir Mangroliya
  • 39,918
  • 16
  • 117
  • 134
2

Do not put a ListView inside a ScrollView.

ListView already handles scrolling, you're only going to run into trouble.

Using a ListView to make it not scroll is extremely expensive and goes against the whole purpose of ListView. You should NOT do this. Just use a LinearLayout instead.

Chirag
  • 56,621
  • 29
  • 151
  • 198
0

As samir and coader said, never use them in scrollview; but let this time be an exception, first check whether you've entered enough no. of items inside the list such tat there is enough no. of objects to scroll

Manoj Kumar
  • 1,510
  • 3
  • 20
  • 40