0

データベースの変更に合わせて TextView を最新の状態に保つために、CursorLoader を介して SimpleCursorAdapter を使用する方法はありますか? すべての変更を自分で管理する必要がなく、維持したい口座残高があります。私の TextView は、アダプターを持つものにはありません。それはバナーのようなものです。以下のコードの問題は、 setViewValue が呼び出されないことです。これは、アダプターが何も設定されていないことを前提としています。ヘルプや提案をいただければ幸いです。ありがとう。

        mAdapter = new SimpleCursorAdapter(this, 
            R.layout.todays_bal_header, 
            null,
            new String[] { TransactionTable.TRANS_AMOUNT, TransactionTable.TRANS_ID },
            new int[] { R.id.todays_balance }, 
            0 );

    mAdapter.setViewBinder(new ViewBinder() {
        public boolean setViewValue(View aView, Cursor c, int aColumnIndex) {

            if (aView.getId() == R.id.todays_balance) {
                                    //Calculate value
                TextView textView = (TextView) aView;
                textView.setText(Integer.toString(value));
                return true;
            }

            return false;
        }
    });
    getSupportLoaderManager().initLoader(URL_LOADER, null, this);

ここに私のコールバックがあります

@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
    mAdapter.changeCursor(cursor);
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
    mAdapter.changeCursor(null);
}
4

1 に答える 1

1

ContentResolver.registerContentObserver(Uri, boolean, ContentObserver) コード (Activity/View) および ContentResolver.notifyChange(Uri, ContentObserver)ContentProvider で使用します。

于 2013-09-02T20:38:39.717 に答える