2013-10-06 57 views
0

我有一個帶MultiChoiceModeListener的ListFragment用於上下文動作模式。長時間點擊後,項目被選中。但是:如果我旋轉屏幕,選擇會丟失,但Android仍處於操作模式。這意味着:您仍然可以在屏幕旋轉之前選擇您所選特定項目的操作。旋轉屏幕上的銷燬/離開動作模式

我想在屏幕旋轉後離開動作模式。只顯示正常的OptionsMenu。似乎比聽起來更難。我曾嘗試那些的onCreate():

  • invalidateOptionsMenu()
  • getListView()clearChoices();

不幸的是上面的工作沒有。

謝謝你的幫助。 :)

回答

0

退出ActionMode的方法是致電actionMode.finish()

不幸的是,您只能參考ActionModeonItemCheckedStateChanged,因此您必須將其泄露至Activity。然後,Activity可以決定在onStop/onDestroyonConfigurationChange中完成它(取決於您是否處理配置更改)。

這不是優雅,但它是我現在可以提出的最好的。

編輯: 其實,你有一個不同的問題 - 爲什麼ListView不記住它的選擇?

如果onCreate中的savedInstanceState不爲空(即,讓ListView恢復其狀態),然後看看會發生什麼,請嘗試不進行初始化。

+0

我想通了,我使用了錯誤的List-Layout。現在我正在使用simple_list_item_activated_1,ListView會記住它的狀態。我可以忍受(確實更喜歡)這個解決方案。 :) – Daniel