有没有办法通过 CursorLoader 使用 SimpleCursorAdapter 以便我可以使 TextView 与我的数据库更改保持同步?我有一个我想维持的帐户余额,而不必自己管理每一项更改。我的 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);
}