android 如何滚动ExpandableListView?

jhdbpxl9  于 2022-11-20  发布在  Android
关注(0)|答案(2)|浏览(143)

我有一个包含组视图和子视图的ExpandableListView。我在某种程度上设置了ExpandableListView的高度,但它根本不滚动。为什么会发生这种情况?
我也把它放在ScrollView中,但没有用。
有谁能帮我吗?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="460dp"
android:background="@drawable/dealer_contact_body_bg"
android:orientation="vertical" >

<TableRow
    android:id="@+id/header"
    android:layout_width="match_parent"
    android:layout_height="70dp"
    android:background="@drawable/header_bg" >
</TableRow>

<TableRow
    android:id="@+id/load_header"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:background="@drawable/il_header_bg" >

    <LinearLayout
        android:id="@+id/pick_insp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/header_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/pick_insp"
            android:textColor="@android:color/white"
            android:textSize="18dip"
            android:textStyle="bold" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/tripnumber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/text2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/trip_no"
            android:textColor="#fff" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/driver"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/text3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/driver"
            android:textColor="#fff" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1" >

        <TextView
            android:id="@+id/text4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/date"
            android:textColor="#fff" />
    </LinearLayout>
</TableRow>

<TableRow
    android:id="@+id/pir_header"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:background="@drawable/ir_vin_header_bg" >
</TableRow>

<ExpandableListView
    android:id="@+id/expandableListView2"
    android:layout_width="fill_parent"
    android:layout_height="260dp"
    android:scrollbars="vertical"
    android:clickable="true" >
</ExpandableListView>

<RelativeLayout
    android:id="@+id/relativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <Button
        android:id="@+id/signature_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:background="@drawable/signature_btn" />
</RelativeLayout>

<LinearLayout
    android:id="@+id/toggle_layout"
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:layout_marginTop="65dp"
    android:background="@android:color/black"
    android:orientation="vertical" >

    <TableRow
        android:id="@+id/toggle_row"
        android:layout_width="fill_parent"
        android:layout_height="45dip"
        android:background="@drawable/il_header_bg" >

        <ToggleButton
            android:id="@+id/toggle_btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="990dp"
            android:layout_marginTop="5dp"
            android:background="@drawable/icon_menu"
            android:textOff=""
            android:textOn="" />
    </TableRow>

    <RadioGroup
        android:id="@+id/radiogroup"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_gravity="bottom"
        android:layout_weight="1"
        android:background="@drawable/navbar_background"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/btn_trip"
            style="@style/navbar_button"
            android:drawableTop="@drawable/icon_trip"
            android:text="@string/trip" />

        <ImageView
            android:id="@+id/imgSep1"
            android:layout_width="3dp"
            android:layout_x="253dp"
            android:background="@drawable/menu_separation" />

        <RadioButton
            android:id="@+id/btn_inspection"
            style="@style/navbar_button"
            android:layout_marginLeft="5dp"
            android:drawableTop="@drawable/icon_inspection"
            android:text="@string/insp" />

        <ImageView
            android:id="@+id/imgSep2"
            android:layout_width="3dp"
            android:layout_x="509dp"
            android:background="@drawable/menu_separation" />

        <RadioButton
            android:id="@+id/btn_edvir"
            style="@style/navbar_button"
            android:layout_marginLeft="5dp"
            android:drawableTop="@drawable/icon_edvir"
            android:text="@string/edvir" />

        <ImageView
            android:id="@+id/imgSep3"
            android:layout_width="3dp"
            android:layout_x="765dp"
            android:background="@drawable/menu_separation" />

        <RadioButton
            android:id="@+id/btn_account"
            style="@style/navbar_button"
            android:layout_marginLeft="5dp"
            android:drawableTop="@drawable/icon_account"
            android:text="@string/account" />
    </RadioGroup>
</LinearLayout>

有人能帮帮我吗?

3htmauhk

3htmauhk1#

不需要放在滚动视图中,ExpandableView默认有滚动视图。
您可能在可展开视图的高度或父视图的高度上犯了一些错误。下面是固定高度为250的可展开列表的外观。

<ExpandableListView
        android:id="@+id/expandable_list_view"
        android:layout_width="fill_parent"
        android:layout_height="250dip"
        android:layout_marginBottom="20dip"
        android:background="@color/white"
        android:cacheColorHint="#00000000"
        android:clickable="true"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dip"
        android:fadingEdge="none"
        android:groupIndicator="@android:color/transparent"
        android:paddingLeft="10dip"
        android:paddingRight="10dip"
        android:scrollbars="none" >
    </ExpandableListView>

另外,请阅读可扩展视图:http://developer.android.com/reference/android/widget/ExpandableListView.html

注意:如果未严格指定父级的大小(例如,如果父级是ScrollView,则无法指定wrap_content,因为它也可以是任何长度),则无法在XML中为ExpandableListView的android:layout_height属性使用值wrap_content。但是,如果ExpandableListView父级具有特定大小(如100像素),则可以使用wrap_content。

o0lyfsai

o0lyfsai2#

在适配器内使用此代码

@Override
public void onGroupExpanded(int groupPosition) {
    super.onGroupExpanded(groupPosition);
    
    expandableListView.setOnScrollListener(new AbsListView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(final AbsListView view, final int scrollState) {
            if (scrollState == SCROLL_STATE_IDLE) {
                view.setOnScrollListener(null);

                new Handler().post(new Runnable() {
                    @Override
                    public void run() {
                        view.setSelection(pos);
                    }
                });
            }
        }

        @Override
        public void onScroll(final AbsListView view, final int firstVisibleItem, final int visibleItemCount,
                             final int totalItemCount) {
        }
    });
}

'pos'采用childview位置的值

相关问题