0
我有一個ListFragment
,點擊時打開Activity
。現在,我的問題是我的聽衆在屏幕旋轉時會丟失。點擊事件不響應。我試過android:configChanges
,它修復了聽衆的問題,但整個活動的佈局看起來很奇怪。任何可能的解決方案,以配置更改再次設置監聽器?android-屏幕方向改變時聽衆丟失
我有一個ListFragment
,點擊時打開Activity
。現在,我的問題是我的聽衆在屏幕旋轉時會丟失。點擊事件不響應。我試過android:configChanges
,它修復了聽衆的問題,但整個活動的佈局看起來很奇怪。任何可能的解決方案,以配置更改再次設置監聽器?android-屏幕方向改變時聽衆丟失
最好的解決辦法:更好的方式使用的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">
最後一個是最糟糕的解決方案,但有效。 因爲我的建議永遠不會使用最後一個,因爲你將來無法做任何回收事情。但對於緊急解決方案來說它很好
你可以發佈一些代碼來更好地描述你的問題嗎? – Egor