我有一个包含许多 EditView 字段的表单。这些字段的数据是从数据库中加载的(在 onCreate() 方法中)。屏幕上的最后一个对象应该是一个 ListView,它应该显示与正在显示的记录相关的所有数据记录。所有数据都正确加载,并且此适配器似乎工作正常。它加载正确的数据,将数据正确格式化为适配器使用的 .xml 指定的两行布局。
问题是屏幕上的 ListView 被“缩小”为只显示一个项目,如果有更多项目,则添加一个滚动条。我希望 ListView 能够扩大大小以显示所有记录,并且屏幕本身是可滚动的(所有内容都包含在 ScrollView 中)。
因此,XML 看起来像这样:
<ScrollView
android:layout_height="wrap_content"
android:id="@+id/ScrollView1">
<RelativeLayout
android:layout_height="wrap_content"
android:id="@+id/RelativeLayout1">
<EditView
android:id="@+id/EditView1>
</EditView>
<ListView
android:id="@+id/ListView1
android:layout_height="wrap_content"
android:layout_below="@id/EditView1>
android:divider="#b5b5b5"
android:dividerHeight="1dp" />
然后我使用自定义 BaseAdapter 将数据填充到 ListView
listView = (ListView) findViewById(R.id.ListView1);
dbRecords = db.getAllRecordsByRecordId(recordId);
CBA_Records adapter = new CBA_Records(this, dbRecords);
listView.setAdapter(adapter);
这和我之前做过的都是一样的,除了这些都包裹在滚动视图中。这样做的原因是可能有比较小屏幕(或水平屏幕)容纳的更多字段,因此屏幕必须是可滚动的。而且,列表视图也必须在那里......
有什么建议么?