我有啓動動作模式的listfragment。我正在使用actionbarsherlock。但是當方向發生變化時,或者當我開始新的活動時,上下文相關的actionbar消失。 有什麼辦法可以恢復它,而無需重新啓動它?在谷歌Gmail應用程序它保持在屏幕上,無論我旋轉手機或轉到詳細畫面。方向更改後恢復動作模式
12
A
回答
14
更好的方法是使用onSaveInstanceState在循環前保存ActionMode狀態。
public abstract class MyActivity extends SherlockFragmentActivity{
private boolean isInActionMode = false;
@Override
public void onCreate(Bundle state){
super.onCreate(state);
if (state != null && state.getBoolean("ActionMode", false)){
startActionMode(new MyActionMode());
}else{
///whatever you'd normally do
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
// Save isInActionMode value
outState.putBoolean("ActionMode", isInActionMode);
super.onSaveInstanceState(outState);
}
public void onWhateverEventNormallyStartsYourActionMode(){
startActionMode(new MyActionMode());
}
public class MyActionMode implements ActionMode.Callback{
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
isInActionMode = true;
///whatever you'd normally do
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
///whatever you'd normally do
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
///whatever you'd normally do
}
@Override
public void onDestroyActionMode(ActionMode mode) {
isInActionMode = false;
}
}
}
根據Saran的評論更新。
相關問題
- 1. 更改SQL Server 2008恢復模式
- 2. 更改方向後,語言會恢復爲英語
- 3. 保留/恢復方向更改後的可見性以查看
- 4. Mosby並在方向更改後恢復狀態
- 5. 恢復GridView的方向更改後的數據
- 6. 無法在更改屏幕方向上恢復活動
- 7. XCode - 在「放棄更改」後恢復代碼的任何方式?
- 8. UIButton#titleLabel在以編程方式更改後恢復
- 9. Solr的RELOAD更改/恢復模式更改
- 10. Gmail動作模式更改
- 11. iOS 6恢復方向後關閉ModalViewController
- 12. 在數據庫處於複製期間更改恢復模式
- 13. Git恢復更改
- 14. 恢復結賬後所做的更改
- 15. 更改DB Schema後恢復Typus插件
- 16. UIToolBar在更改標籤後恢復
- 17. Andengine遊戲部隊在更改設備方向後恢復關閉
- 18. 在屏幕方向更改(無需重新加載)後恢復Android GridView
- 19. 在不更改模式的情況下恢復遷移
- 20. SVN恢復更改。重新申請後續更改
- 21. AS3:代碼更改後恢復時間軸動畫
- 22. Bootstrap 3:移動方向更改時顯示/隱藏模式
- 23. 以編程方式更改Android adb調試設置從恢復
- 24. 紅寶石:更好的方式來恢復從一個模塊
- 25. 恢復動作條
- 26. 敲除恢復更改
- 27. IE恢復到更改
- 28. 如何使用SharpSVN以遞歸方式恢復工作副本中的更改?
- 29. 使用多行滾動模式後恢復TextView單行橢圓模式
- 30. 動態更改方向
檢查出這個abs問題線程:https://github.com/JakeWharton/ActionBarSherlock/issues/463 – newbyca 2012-08-23 00:00:55