2014-04-08 43 views
1

在我的活動中,我打開一個DialogFragment以在數據庫中插入數據。 完成後,我關閉對話框,但我想將活動的同步圖標更改爲紅色同步圖標(說用戶有數據需要同步)。 我可以做的唯一方法就是在我解僱之前,調用屬於對話框中的活動的公共方法,但我無法訪問菜單項 我該怎麼辦?更改操作欄圖標作爲dialogfragment的響應

+0

你爲什麼不能訪問菜單項目? –

回答

1

當我關閉對話框,我稱之爲從DialogFragment調用一個方法:

invalidateOptionsMenu(); 

然後,它進入的onPrepare方法:

@Override 
public boolean onPrepareOptionsMenu(Menu menu) { 
    MenuItem menuSync= menu.findItem(R.id.menu_sync); 
    int sincronizado = prefs.getInt("sincronizado", 0); 
    if (sincronizado == 1) 
     menuSync.setIcon(R.drawable.ic_action_update_red); 
    return super.onPrepareOptionsMenu(menu); 
}