У меня есть приложение с различными фрагментами, и проблема в том, когда телефон вращается, приложение отображает другие фрагменты с самого начала. он не закрывает текущие фрагменты, но выглядит как слои друг над другом. любую помощь я был бы благодарен. спасибоОтключить другие фрагменты в автообороте
ответ
Попробуйте добавить в ваш AndroidManifest
<Activity
....
....
android:configChanges="orientation|screenSize">
спасибо. попробуем это – vinstar
Вы должны проверить на savedInstanceState, и если она существует, не повторно создавать фрагменты. просто проверить, если равно нулю или не
, как показано ниже
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (savedInstanceState == null) {
// Do your oncreate because there is no bundle
}else{
// Do that needs to be done even if there is a saved instance, or do nothing
}
}
this проверки более подробно.
хорошо, поэтому я помещаю ВСЕ мой код активности в if, тогда я ничего не делаю в другом, не так ли? – vinstar
нет, вам нужно сохранить состояние старого фрагмента с помощью super.onCreate (savedInstanceState) ;. Поэтому, возможно, установить тег и найти фрагмент, если он существует, или передать нулевой пакет в супер. узнайте больше http://developer.android.com/guide/components/fragments.html –
был ли это полезным? @vinstar –
Вы хотите, чтобы другой фрагмент был только на портрете? –
Нет, я думаю, что поворот будет хорошим для моего приложения. как бы я это сделал, выключить ротатин – vinstar
все в порядке. он думает, что ваше приложение не сохраняется в том же состоянии, когда вы вращаете его, изменяя фрагмент на поворот? –