2012-11-09 49 views
0

在我的應用程序中,我有一個ListViewList項,長按將顯示ContextMenu。在這裏,我需要做Orientation更改。所以,我跟着像沒有添加onConfigChanges屬性在Manifest文件手動我有句柄Orientation更改使用onRetainNonConfigurationChanges()方法。方向更改關閉我的浮動上下文菜單

我的問題是在長時間按項目後,如果改變方向,它將顯示ContextMenu

請參閱Manifest中除了添加android:onConfigChnage="orienation"以外的解決方案。

回答

0

實際上由於重新啓動Activity而發生此問題。當屏幕Orientation改變時,android系統重啓當前的Activity

請參閱herehere相同的問題。可能你會有一些想法。

+0

是的,你是對的花花公子。我知道這已經但唯一的問題是我保留了所有的值,我已經使用了兩個不同的佈局爲同一活動,但我無法避免浮動上下文菜單關閉。 – Srinivasan

-1

這是正常的行爲。 ContextMenus就像警報對話框是活動生命週期的一部分,因此它們會隨着活動而死亡。

的解決方案是重寫protected void onSaveInstanceState(Bundle outState)並保存活動的當前狀態和你的活動期間獲得savedInstanceState回onCreate

+0

嗯是啊...我知道在這裏我使用另一種方法像onRetainNonConchangeChanges()方法來保留這些values.But我的問題是浮動上下文菜單關閉方向更改time.Here我需要做的是我需要保持顯示上下文菜單,即使方向改變time.For作爲你說的像對話框意味着我需要檢查上下文菜單顯示與否,然後我需要顯示在onResume()方法後明確再次活動created.For這些事情我需要你的指導路線。 – Srinivasan

+0

你只是自己解釋解決方案。我不會爲你寫代碼。每當你打開菜單時,你都會設置一個標誌,每當你關閉你重置標誌。您在方向更改期間通過此標誌並onResume您檢查它的值再次打開或不是菜單。 – Budius

+0

Dude ...這裏你無法檢查上下文菜單是否打開? – Srinivasan

相關問題