我在我的操作欄中有一個微調,它只在onCreateActionMode()中初始化一次;維護微調下拉狀態
問題:當旋轉器下拉可見並且我嘗試旋轉屏幕時,方向更改後不會保持下拉狀態。
我該如何保持狀態,以便在縱向模式下可以看到微調器下拉菜單,然後在橫向模式下進行方向更改後也應該可以看到下拉菜單。
另外讓我知道API,通過它我們檢查下拉列表在給定點是否可見。也是一個強制顯示下拉菜單的API。
我也在我的Manifest文件中指定了configChanges =「orientation」。
我在我的操作欄中有一個微調,它只在onCreateActionMode()中初始化一次;維護微調下拉狀態
問題:當旋轉器下拉可見並且我嘗試旋轉屏幕時,方向更改後不會保持下拉狀態。
我該如何保持狀態,以便在縱向模式下可以看到微調器下拉菜單,然後在橫向模式下進行方向更改後也應該可以看到下拉菜單。
另外讓我知道API,通過它我們檢查下拉列表在給定點是否可見。也是一個強制顯示下拉菜單的API。
我也在我的Manifest文件中指定了configChanges =「orientation」。
我發現了一個非常難看的解決這個(以下簡稱「行動」發生在onConfigurationChanged法):
調用的setContentView之前,檢查下拉列表視圖顯示(* ),如果是,請保存當前在微調器中選擇的位置(int pos = spinner.getSelectedItemPosition()
)。
主叫的setContentView和設置旋轉器適配器,如果下拉視圖在步驟1中示出後,強制下拉視圖通過調用performClick上旋轉器,以顯示:
spinner.setSelection(pos);// this way we make sure that the same item
// remains selected after rotating the device
spinner.performClick(); //show the dropdown view
(*)檢查下拉列表視圖是否顯示爲棘手的部分。我還沒有發現(還),讓我知道下拉視圖是否顯示,所以我不得不做以下的方法:
保持在布爾變量(名爲微調的按下狀態,例如,isClicked)。
設置一個onTouchListener爲所說的紡絲器和在onTouch方法設置isClicked爲true(攻牙旋轉器,所述dropdwon視圖打開時,使isClicked == TRUE意味着下拉視圖是示出)。
覆蓋的onkeydown或的onkeyup和當按下後退按鈕,如果isClicked是真實的,它設置爲false(I假定按壓背部與isClicked == TRUE裝置關閉所述下拉視圖) 。
使用值isClicked在onConfigurationChanged方法來檢查是否被示出的下拉圖。
就像我說的那樣,這是一個醜陋的修復,但它是我能夠想到的唯一一個。如果有人有其他想法,請張貼他們。
從here
虛心採取有其他的解決方案也是這是如下
底線是你需要捕獲status
(一些布爾變量)wh en旋轉器打開,並在活動configChange
需要初始化旋轉器狀態從status
希望它有幫助!