いくつかの EditView フィールドを含むフォームがあります。これらのフィールドのデータは、(onCreate() メソッドで) データベースからロードされます。画面の最後のオブジェクトは、表示されているレコードに関連するすべてのデータ レコードを表示する ListView である必要があります。すべてのデータが正しくロードされており、このためのアダプターは正常に動作しているようです。正しいデータをロードし、アダプターが使用する .xml で指定された 2 行のレイアウトにデータを正しくフォーマットします。
問題は、画面上の ListView が「縮小」されて 1 つの項目のみが表示され、さらに項目がある場合はスクロールバーが追加されることです。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);
これは、すべてスクロールビュー内にラップされていることを除いて、私が以前に行ったこととすべて同じです。この理由は、小さな画面 (または水平画面) に収まりきらないほど多くのフィールドが存在する可能性があるため、画面をスクロール可能にする必要があるためです。そして、リストビューもそこにある必要があります...
助言がありますか?