繁体   English   中英

如何将可扩展ListView放入ScrollView中

[英]How to put expandable ListView inside a ScrollView

我似乎无法滚动片段。 我在editText和textViews的中间有一个可扩展的listview,在可扩展的listview的下面有一个textView和editText。 我无法向下滚动到底部的textView和editText。 如何格式化该格式,以便无需触摸listView就可以一直向下滚动?

<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:fillViewport="true">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/toolbar"
android:background="#FFFFFF"
android:orientation="vertical"
tools:context="edu.bradley.apawelczyk.trackapp.Add_Athlete_Fragment"
android:weightSum="1"
android:padding="20dp"
android:id="@+id/addAthleteLayout">

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Add New Athlete"
    android:id="@+id/txtTitle"
    android:gravity="center"
    android:textColor="#000000"
    android:textSize="30dp"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/txtName"
    android:text="Name: "
    android:textColor="#000000"
    android:paddingBottom="10dp"/>
<EditText
    android:layout_width="300dp"
    android:layout_height="40dp"
    android:id="@+id/editFirstName"
    android:hint="First Name"
    android:background="@drawable/edit_text_background"
    android:textColorHint="#BBBBBB"
    android:textColor="#000000"
    android:paddingLeft="10dp" />
<EditText
    android:layout_width="300dp"
    android:layout_height="40dp"
    android:id="@+id/editLastName"
    android:hint="Last Name"
    android:background="@drawable/edit_text_background"
    android:textColorHint="#BBBBBB"
    android:textColor="#000000"
    android:paddingLeft="10dp"
    android:layout_marginTop="10dp"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/txtAge"
    android:text="Age: "
    android:textColor="#000000"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"/>
<EditText
    android:layout_width="300dp"
    android:layout_height="40dp"
    android:id="@+id/editAge"
    android:hint=""
    android:background="@drawable/edit_text_background"
    android:textColorHint="#BBBBBB"
    android:textColor="#000000"
    android:paddingLeft="10dp" />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/txtGrade"
    android:text="Grade: "
    android:textColor="#000000"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"/>
<EditText
    android:layout_width="300dp"
    android:layout_height="40dp"
    android:id="@+id/editGrade"
    android:hint=""
    android:background="@drawable/edit_text_background"
    android:textColorHint="#BBBBBB"
    android:textColor="#000000"
    android:paddingLeft="10dp" />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/txtEvent"
    android:text="Event: "
    android:textColor="#000000"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"/>
<ExpandableListView
    android:layout_width="400dp"
    android:layout_height="match_parent"
    android:id="@+id/eventsList"
    android:choiceMode="singleChoice"
    android:divider="#000000"
    android:dividerHeight="2dp"
    android:focusable="false">
</ExpandableListView>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/txtTier"
    android:text="Tier: "
    android:textColor="#000000"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"/>
<EditText
    android:layout_width="300dp"
    android:layout_height="40dp"
    android:id="@+id/editTier"
    android:hint=""
    android:background="@drawable/edit_text_background"
    android:textColorHint="#BBBBBB"
    android:textColor="#000000"
    android:paddingLeft="10dp" />

您尝试创建的布局无法以这种方式工作,因为ListView不会出现在ScrollView因为会消耗触摸事件。 对于具有可滚动页眉的ListView ,必须使用addHeaderView()方法添加addHeaderView()页脚类似)。 但是,这不能仅使用XML来完成。

您的主要XML应该只包含ExpandableListView ,然后建议您使用LinearLayout创建一个XML,该XML包含要在ListView上方包含的所有视图,另一个XML将包含以下视图。 在您的代码中,只需对这些XML进行膨胀, addFooterView()使用它们调用addHeaderView()addFooterView() 另外,如果您使用onItemClickListener请注意,标题视图将移动视图的索引。

可扩展列表视图/列表视图不接收手势,因为滚动视图会处理它们。 尝试更改您的布局。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM