0

SQLite データベースからデータを取り込む SimpleCursorAdapter があります。正常に動作していますが、「期間」列はミリ秒単位で指定されているため、表示する前に(期間/ 1000)で分割したいと思います。DBに別の期間(分単位)列を保存せずにそれは可能ですか?

アダプタ:

 adapter = new SimpleCursorAdapter(getActivity(),
 R.layout.rec_list_items,
 db.selectAllRecords(),
 new String[] { "day", "hour", "minute", "duration", "link" },
 new int[] { R.id.textView_day, R.id.textView_hour, R.id.textView_minute, R.id.textView_duration, R.id.textView_link },
 CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

selectAllRecords:

public Cursor selectAllRecords() {
    String[] cols = new String[] {ID, DAY, HOUR, MINUTE, DURATION, LINK};
    Cursor mCursor = database.query(true, TABLE,cols,null
            , null, null, null, null, null);
    if (mCursor != null) {
        mCursor.moveToFirst();
    }

    return mCursor;
}
4

1 に答える 1

0

ここにはいくつかのオプションがあります。

1 つは、カスタム SimpleCursorAdapter を作成し、setViewText() をオーバーライドすることです。実装で、問題のテキストビューが渡されたかどうかを確認し、ビューの値を希望する値に設定します。精度を適用するには、String から int (または float、必要なもの) に変換する必要があります。

もう1つは、SimpleCursorAdapter.ViewBinderを実装し、アダプターのsetViewBinderでバインダーとして設定し、バインダーのsetViewValueで自分のことを行うことです

于 2013-10-06T20:11:27.570 に答える