0

I've created a ListView in a nested LinearLayouts with Horizontal scrolling in an attempt to display long records with the capability for Horizontal scrolling, but now I'm unable to scroll the ListView vertically.

Here is my XML setup. Can you help me figure out why the ListView stop scrolling. I've found several article tried difference Width, Height and Weight layout, but nothing seems to work.
Thank you in advance for your help.

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

<ImageView
    android:id="@+id/imageView2"
    android:layout_width="wrap_content"
    android:layout_height="40sp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:contentDescription="@string/lyellow_strip"
    android:scaleType="centerCrop"
    android:src="@drawable/shell_strip" />

<ImageView
    android:id="@+id/imgVCancel"
    android:layout_width="27sp"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/imageView2"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginRight="224dp"
    android:clickable="true"
    android:contentDescription="@string/btnCancel"
    android:onClick="Cancel"
    android:src="@drawable/cancel32" />

<HorizontalScrollView
    android:id="@+id/horizontalScrollView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/imageView2" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="527dp"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:layout_marginLeft="40dp"
            android:orientation = "horizontal">

            <TextView
                android:id="@+id/code"
                android:layout_width="110sp"
                android:layout_height="wrap_content"
                android:maxLines="1"
                android:text="Type"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/manufacturer"
                android:layout_width="70sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/code"
                android:maxLines="1"
                android:text="Manu"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/name"
                android:layout_width="300sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/manufacturer"
                android:maxLines="1"
                android:text="Product Name"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="20sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/visc40"
                android:layout_width="80sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/name"
                android:maxLines="1"
                android:text="Visc 40"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/visc100"
                android:layout_width="80sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/visc40"
                android:maxLines="1"
                android:text="Visc 100"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/viscindex"
                android:layout_width="100sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/visc100"
                android:maxLines="1"
                android:text="Visc Index"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/den15c"
                android:layout_width="80sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/viscindex"
                android:maxLines="1"
                android:text="Den@15c"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/name1"
                android:layout_width="300sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/den15c"
                android:maxLines="1"
                android:text="Product Name"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="20sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/visctext"
                android:layout_width="150sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/name1"
                android:maxLines="1"
                android:text="Visc Text"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/baseoiltype"
                android:layout_width="150sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/visctext"
                android:maxLines="1"
                android:text="Base Oil Type"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/name2"
                android:layout_width="300sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/baseoiltype"
                android:maxLines="1"
                android:text="Product Name"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="20sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/baseoil"
                android:layout_width="100sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/name2"
                android:maxLines="1"
                android:text="Base Oil"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/additives"
                android:layout_width="300sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/baseoil"
                android:maxLines="1"
                android:text="Additives"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/name3"
                android:layout_width="300sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/additives"
                android:maxLines="1"
                android:text="Product Name"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="20sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/otheradditives"
                android:layout_width="200sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/name3"
                android:maxLines="1"
                android:text="Other Properties"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/thickener"
                android:layout_width="100sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/otheradditives"
                android:maxLines="1"
                android:text="Thickener"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/nlgi"
                android:layout_width="70sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/thickener"
                android:maxLines="1"
                android:text="NLGI"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/name4"
                android:layout_width="300sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/nlgi"
                android:maxLines="1"
                android:text="Product Name"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="20sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/comments"
                android:layout_width="200sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/name4"
                android:maxLines="1"
                android:text="Comments"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/packages"
                android:layout_width="300sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/comments"
                android:maxLines="1"
                android:text="Packages"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/area"
                android:layout_width="100sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/packages"
                android:maxLines="1"
                android:text="Areas"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

            <TextView
                android:id="@+id/usage"
                android:layout_width="100sp"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="11dp"
                android:layout_toRightOf="@+id/area"
                android:maxLines="1"
                android:text="Usage"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textSize="17sp" 
                android:textStyle="bold" />

        </LinearLayout>

        <LinearLayout
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:layout_marginLeft="-4060dp"
            android:layout_marginTop="30dp"
            android:orientation = "horizontal">

            <ListView
                android:id="@+id/listView1"
                android:layout_width="0dip"
                android:layout_marginLeft="0dp"
                android:layout_marginTop="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:clickable="true"
                android:fastScrollEnabled="true"
                android:headerDividersEnabled="true"
                android:smoothScrollbar="true" >

            </ListView>

        </LinearLayout>

    </LinearLayout>

   </HorizontalScrollView>

 </RelativeLayout>  
Dalmas
  • 26,409
  • 9
  • 67
  • 80
user2105000
  • 125
  • 1
  • 3
  • 8
  • I think this is generally a bad practice. Even if you manage a way to accomplish it. It will make your UI very expensive in terms of memory. I suggest taking a moment and thinking about how you can create a bet user experience that accomplishes the same goal. – Larry McKenzie May 24 '13 at 21:16
  • Don't use ListView inside ScrollView – Amt87 Mar 06 '14 at 12:59

1 Answers1

0

I've figured out what to do. This is probably not the best way, but it work for us. I put the column headers one linear layout and the ListView in another. Thanks.

user2105000
  • 125
  • 1
  • 3
  • 8