2012-04-05 2 views
0

я создал макет и макет-земельных папки, в манифесте я естьAndroid макет configChanges

android:configChanges="keyboardHidden|orientation"

Если я удалить android:configChanges из манифеста Я могу видеть изменения макета с портретной на альбомную .. Проблема в том, что предыдущие экраны уничтожаются при попытке вернуться.

Я предполагаю, что я мог бы добавить код на моей Java, чтобы рассказать об этом, когда нужно менять макеты. Я уже прочитал кучу сообщений, но я смущен, где в коде это произойдет.

Я пытаюсь использовать некоторый предварительно упакованный код, потому что я новичок в Android. Ниже приведен код Java для экрана меню, в частности мне нужно изменить макеты. большое спасибо!!

menu Java

+0

, как вы начали предыдущие действия (которые я предполагаю, являются экранами вы ссылаетесь) –

ответ

4

Добавление android:configChanges="keyboardHidden|orientation" остановит воссоздание вашей деятельности, а также предотвращения изменения макета в макет-земля/портрет макета. В этом случае вы должны управлять им вручную из java-кода. Если вы don't хотите, чтобы ваш Activity получил re-created при повороте устройства/изменении ориентации. Что вы можете сделать, это просто изменить расположение экрана, когда ваши изменения ориентации внутри onConfigurationChanged() метода,

Проверьте мой ответ here, как это может быть сделано.

+0

Спасибо за отвечать на запросы. Я считаю, что это то, что я хочу ». Что вы можете сделать, это просто изменить макет, когда ориентация экрана меняется внутри метода onConfigurationChanged(),« все еще путайте, где он подходит в моем коде? – user1120680

2

Моя работа вокруг этих проблем была

в manifeast файле вы можете использовать Android: configChanges = «keyboardHidden | ориентации», если вы не будете эти строки, то деятельность будет уничтожена и создана заново.

и у нас есть метод ниже

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    // TODO Auto-generated method stub 
    super.onConfigurationChanged(newConfig); 
    setContentView(R.layout.yourlayoutname); 
} 

здесь вы можете справиться с изменением ориентации ...

+0

просто скопируйте мой ответ. –

+0

Не могли бы вы рассказать мне, где в моем коде это пойдет? большое спасибо! Очень новая и попытка :) – user1120680

+0

@Lalit Poptani рад услышать от вас, но по совпадению мы оба имели одну и ту же вещь, чтобы решить проблему. –

Смежные вопросы