0

作成しようとしていますtableview(Excelのスプレッドシートのように)。テーブルはcursor(例: 30k レコード) からデータを読み取り、 および のようなビューのリサイクルをListView処理する必要がありますGridView。テーブルは高速で、re-sizable列を持つ必要があります (たとえば、サイズが異なる 4 つの列が必要です)。

私がやった事 :

  1. GridViewカスタム カーソル アダプタを使用

    • ヘッダー行 (列の名前) を持つテーブルのように見えます
    • テーブルは高速で、フォームカーソルとリサイクルビューを読み取ります
    • GridView ではすべての列が同じサイズで描画されるため、列のサイズ変更はできません
  2. 各列はListView、同期されたスクロールリスナーを持っています

    • テーブルに見える
    • フリングスクロールでは、一部のリストに触れると停止し、他のリストはスクロールし続けます
    • 汚れたソリューションへ
  3. TableLayoutアダプター付き

    • フォームアダプタを読んでいます
    • ビューのリサイクルがなく、レコード数が多いとメモリ例外がスローされます
  4. カスタムGridView

    • AbsListView を拡張するカスタム TableView で、AbsListView のフィールドはパッケージで保護されているため使用できません。

最適なビューは TableLayout/View with adapter になると思います。この種のビューに最適なソリューションを見つけるのを手伝ってください。

ps多分Roman Guyは、次のAndroidバージョンのTableViewを助けてコーディングできます:)

4

1 に答える 1

0

テーブルビューを水平にスクロールする必要がない場合は、ListView行のカスタム ビューを使用できます。このような行は、必要なLinearLayout数の列を持つ (水平方向の) でTextViewあり、それぞれの列にweight幅を適切にするための属性があります。

水平にスクロールする必要がある場合、私が見る唯一の方法は、に基づいて独自のコンテナーを実装することですAdapterView

于 2013-03-08T10:03:58.393 に答える