[英]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.