2013-09-25 54 views
0

我有一個ListFragment,點擊時打開Activity。現在,我的問題是我的聽衆在屏幕旋轉時會丟失。點擊事件不響應。我試過android:configChanges,它修復了聽衆的問題,但整個活動的佈局看起來很奇怪。任何可能的解決方案,以配置更改再次設置監聽器?android-屏幕方向改變時聽衆丟失

+1

你可以發佈一些代碼來更好地描述你的問題嗎? – Egor

回答

0

最好的解決辦法:更好的方式使用的onSaveInstanceState來處理這個問題()看到此鏈接Handling Runtime Changes

二:

public void onConfigurationChanged(Configuration config) { 
super.onConfigurationChanged(config); 

// Checks the orientation 
if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
    Toast.makeText(this, "landscape mode", Toast.LENGTH_SHORT).show(); 
} else if (config.orientation == Configuration.ORIENTATION_PORTRAIT){ 
    Toast.makeText(this, "portrait mode", Toast.LENGTH_SHORT).show(); 
    } 
} 
:您可以通過下面的方法檢測的變化,然後處理它

強制解決辦法:如果你不想回收與方向變化的活動週期,那麼你可以在你的清單補充一點:

<activity android:name=".YourActivity" 
     android:configChanges="orientation|keyboardHidden" 
     android:label="@string/app_name"> 

最後一個是最糟糕的解決方案,但有效。 因爲我的建議永遠不會使用最後一個,因爲你將來無法做任何回收事情。但對於緊急解決方案來說它很好