1

リスト内の行のレイアウトを作成しています。列の 1 つは "work Hours" で構成され、開始と終了の 2 つの部分でデータベースからデータを取得します。カーソルローダーを使用してデータを UI に取り込みます。私の質問は、2 つの時間が別々に保存されている場合、開始と終了の両方のデータを 12:00~4:00 のような形式に結合する最良の方法は何ですか? 直線的なレイアウトをもう一つ入れようと思ったのですが、もったいないです。助言がありますか?

編集:

これは私の Loader コールバックで、かなり標準的だと思います。

@Override
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
    String[] projection = Columns.getColumns(RawContract.PARAM_SIWORKDAYS);

    CursorLoader cursorLoader = new CursorLoader(mContext,
            BidProvider.CONTENT_URI_SIWORKDAYS, projection, null, null, null);
    return cursorLoader;
}

@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
    mAdapter.swapCursor(data);
}

@Override
public void onLoaderReset(Loader<Cursor> loader) {
    mAdapter.swapCursor(null);
}

で、こんな感じで使ってます

private void fillData() {

    String[] from = new String[] { Columns.COLUMN_WORKDATE,
            Columns.COLUMN_DAYCHARGE, Columns.COLUMN_TEMPERATURE,
            Columns.COLUMN_WORKFROMHR, Columns.COLUMN_WORKTOHR,
            Columns.COLUMN_WEATHER, Columns.COLUMN_CREATEDBY,
            Columns.COLUMN_CREATEDDATE };
    int[] to = new int[] { R.id.contractor, R.id.contract_num, R.id.title,
            R.id.value, R.id.status, R.id.dept_name, R.id.start, R.id.close };

    getLoaderManager().initLoader(0, null, this);

    mAdapter = new SimpleCursorAdapter(mContext, R.layout.contract_row, null, from,
            to, 0);

    setListAdapter(mAdapter);
}

だから私が得ているのは、カーソルからデータを手動で取得することは決してないということだと思います。そのため、これら 2 つのデータを組み合わせる最良の方法が何であるかはわかりません。

4

1 に答える 1