我正在開發由2部分組成的應用程序:Activity和BroadcastReceiver。 BroadcastReceiver處理傳入的SMS並可能在數據庫中創建新行。處理異步SQLite數據庫行添加
我有一個問題:如果活動打開並處於活動狀態,而BroadcastReceiver向數據庫添加新行 - 新行不會出現在活動的ListView中。
我試圖使用遊標觀察員listView的遊標,但該觀察員只觸發行更改通知。在新的行上添加觀察員什麼都不做。
下面是代碼示例:
m_testCursor = m_dbAdapter.fetchAll();
m_testCursor.registerContentObserver(
new ContentObserver(new Handler())
{
@Override
public void onChange(boolean selfChange)
{
Log.w("my_tag", "test content changed");
}
}
);
m_testCursor.registerDataSetObserver(
new DataSetObserver()
{
@Override
public void onChanged()
{
Log.w("my_tag", "test data set changed");
}
}
);
SimpleCursorAdapter checks = new SimpleCursorAdapter(this, R.layout.nodes_row, m_testCursor, from, to);
setListAdapter(checks);
我可以以某種方式處理活動中的新行除了從廣播接收器的一部分?我需要的只是觸發我的一個UI刷新方法。