0

いくつかの 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);

これは、すべてスクロールビュー内にラップされていることを除いて、私が以前に行ったこととすべて同じです。この理由は、小さな画面 (または水平画面) に収まりきらないほど多くのフィールドが存在する可能性があるため、画面をスクロール可能にする必要があるためです。そして、リストビューもそこにある必要があります...

助言がありますか?

4

2 に答える 2