我正在使用fragement并希望在推送通知来自服务器时从sqlite更新片段中的listview的ui。
这是我的广播接收器代码,我正在更新我的片段。使用此代码,我的片段正在更新,但是当我将进行另一项活动并获得推送通知时,我的应用程序正在崩溃。
private void registerLocalBroadCastReciever() {
LocalBroadcastManager.getInstance(this).registerReceiver(
mMessageReceiver, new IntentFilter("RefreshList"));
}
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
/*
* If employee onboard
*/
String onBoardId = intent.getExtras().getString("ONBOARDING");
if(!onBoardId.isEmpty()){
try {
/*if(MapWindow.mMapWindowRunStatus){
MapWindow.mMapWindowRunStatus = false;
MapWindow.getInstace().finish();
}*/
DBHelper.getInstance(getApplicationContext()).
updateCheckedBoardStatus("C", onBoardId, true);
} catch (Exception e) {
// TODO: handle exception
}
}
TaskFragment tf = (TaskFragment) mTabPagerAdapter
.getRegisteredFragment(TabsPagerAdapter.TASKFRAGMENT);
final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
if (tf != null) {
ft.detach(tf);
ft.attach(tf);
ft.commit();
tf.loadTasks(false);
tf.refreshTaskList();
}
}
};