0

(TableLayout)以下に示すように、さまざまな連絡先への通話に使用された分数を示す表を作成しました。

Contact       |    Minutes Used
______________|__________________
              |
Joe Bloggs    |         5
Eric Peters   |        10
John Smith    |        53
Susan Jones   |         9

使用時間の降順になるように行を並べ替えられるようにしたいと考えています。最初に SQLite を使用してテーブルをデータベースにしないと、これは可能ですか? 私は今日までそれを使用したことがありません。非常に単純なはずのことを、非常に長い道のりのように思えます。

必要に応じて、テーブルの作成に使用するコードを投稿できます。

4

1 に答える 1

1

私はSQLiteを使用しません。代わりに、1 つの連絡先リストと 1 つの分のリストが使用されている場合、フィールド String name と Int minutes を持つクラス Contact を作成します。次に、それらを List に格納し、Contact クラスに Comparable (インターフェイス) を実装して並べ替えます。比較可能: (http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Comparable.html)。

同等の説明:

メソッド「public int CompareTo(Object o)」を実装する必要があります。これは、分数が多い場合は 1 を返し、同じ量の場合は 0 を返し、少ない場合は -1 を返します。次に、Contact オブジェクトを簡単に並べ替えることができます。

オブジェクトを Contact としてキャストすることを忘れないでください。また、連絡先インスタンスで呼び出す public int getMinutes() などの分数にアクセスする方法を用意してください。

また、匿名のテーブル行を使用してレイアウトをプログラムで作成し、Contact オブジェクトのフィールドからテーブル行の各テキストビューを設定する必要があることに注意してください。

于 2012-01-17T10:22:18.113 に答える