3

I can't figure it out how to make ExpandableListView not scrollable, always at full size and positioning at the bottom of the layout, but also maintain the ability to scroll the textView if it goes out of bounds. I know it is not recommended to have ListView in ScrollView. But how to achieve this? Now everything looks like this:

enter image description here

The layout:

enter image description here

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingTop="16dp">
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:srcCompat="@mipmap/ic_launcher"
            android:id="@+id/imageView2" />

        <TextView
            android:text="Order description"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/imageView2"
            android:id="@+id/orderDescr"
            android:paddingTop="5dp" />
    </RelativeLayout>
</ScrollView>

<TextView
    android:text="label"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/textView5"
    android:paddingTop="15dp"
    android:paddingLeft="16dp"
    android:paddingRight="16dp" />

<ExpandableListView
    android:id="@+id/expandableListView"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:indicatorLeft="?
    android:attr/expandableListPreferredItemIndicatorLeft"
    android:childDivider="#00000000"
    android:layout_below="@+id/orderDescr"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="5dp"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:headerDividersEnabled="false"
    android:footerDividersEnabled="false"
    android:isScrollContainer="false" />

</LinearLayout>
Godfryd
  • 457
  • 6
  • 16
  • 1
    check this answer http://stackoverflow.com/questions/37605545/android-nestedscrollview-which-contains-expandablelistview-doesnt-scroll-when – Manza Dec 01 '16 at 17:07

1 Answers1

1

it work for me

ExpandableListView lv = (Expandable) findViewById(R.id.layout_lv);
lv.setOnTouchListener(new OnTouchListener() {
// Setting on Touch Listener for handling the touch inside ScrollView
@Override
public boolean onTouch(View v, MotionEvent event) {
// Disallow the touch request for parent scroll on touch of child view
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
Community
  • 1
  • 1
Muzmail Hussain
  • 75
  • 1
  • 10