Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
mulatoschka1990
1 / 1 / 0
Регистрация: 23.10.2009
Сообщений: 9
#1

При смене ориентации приложение падает из-за фрагмента, который в backStack - Программирование Android

01.08.2014, 16:00. Просмотров 573. Ответов 0
Метки нет (Все метки)

Всем привет!

Дано: приложение андроид с SliderMenu https://developer.android.com/design/patterns/navigation-drawer.html

main.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<android.support.v4.widget.DrawerLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <RelativeLayout
 
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
        <!-- Framelayout to display Fragments -->
        <FrameLayout
                android:id="@+id/frameContainer"
                android:layout_above="@+id/bannerHome"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
 
        </FrameLayout>
        <!-- Footer aligned to bottom -->
        <RelativeLayout
                android:id="@+id/bannerHome"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:gravity="center">
 
 
        </RelativeLayout>
    </RelativeLayout>
    <!-- Listview to display slider menu -->
    <ListView
            android:id="@+id/listSlidermenu"
            android:layout_width="240dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:choiceMode="singleChoice"
            android:divider="@color/list_divider"
            android:dividerHeight="1dp"
            android:listSelector="@drawable/list_selector"
            android:background="@color/list_background"/>
</android.support.v4.widget.DrawerLayout>
Меню имеет несколько пунктов: главная, настройки и т.п

layoyt-large/home.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 
                android:layout_width="match_parent"
                android:layout_height="match_parent">
 
 
    <ScrollView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:fillViewport="true">
 
 
        <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:orientation="horizontal">
            <FrameLayout
                    android:id="@+id/activity_main_profile_info"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"/>
 
            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                          android:id="@+id/activity_main_root_container"
                          android:layout_width="match_parent"
                          android:layout_height="match_parent"
                          android:baselineAligned="false"
                          android:orientation="vertical" >
 
                <FrameLayout
                        android:id="@+id/activity_main_buttons_container"
                        android:layout_width="match_parent"
                        android:layout_height="@dimen/titles_size"/>
 
                <FrameLayout
                        android:id="@+id/activity_main_info_container"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent" />
                <TabHost
                        android:id="@android:id/tabhost"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent" >
                    <LinearLayout
                            android:orientation="vertical"
                            android:layout_width="fill_parent"
                            android:layout_height="fill_parent"
                            >
 
                        <TabWidget
                                android:id="@android:id/tabs"
                                android:orientation="horizontal"
                                android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                android:layout_weight="0"
                                />
 
                        <FrameLayout
                                android:id="@android:id/tabcontent"
                                android:layout_width="0dp"
                                android:layout_height="0dp"
                                android:layout_weight="0"/>
 
                        <com.ndevgroup.medic.keeper.viewpager.SeeParametersViewPager
                                android:id="@+id/tabviewpager"
                                android:layout_width="fill_parent"
                                android:layout_height="0dp"
                                android:layout_weight="1"
                                />
                    </LinearLayout>
                </TabHost>
            </LinearLayout>
        </LinearLayout>
 
 
    </ScrollView>
</RelativeLayout>

layout-large-port/home.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 
                android:layout_width="match_parent"
                android:layout_height="match_parent" >
<ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
    android:fillViewport="true" >
 
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal" >
 
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:gravity="center_vertical|center_horizontal"
            android:orientation="vertical" >
            <FrameLayout
                    android:id="@+id/activity_main_profile_info"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>
            <FrameLayout
                    android:id="@+id/activity_main_buttons_container"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"/>
        </LinearLayout>
    </RelativeLayout>
 
</ScrollView>
    </RelativeLayout>
Ошибка: если с главной через меню уйти, например, в настройки, и сменить ориентацию, то падает с ошибкой IllegalArgumentException: No view found for id 0x7f080066 (com.ndevgroup.medic.keeper:id/activity_main_profile_info) for fragment ProfileInfoHomeFragment{411df8b8 #1 id=0x7f080066 ProfileInfoHomeFragment}

ProfileInfoHomeFragment - фрагмент, который загружается в главной HomeFragment.xml (onActivityCreated)

Java
1
2
3
 ProfileInfoHomeFragment profileInfoHomeFragment = new ProfileInfoHomeFragment();
        profileInfoHomeFragment.setArguments(b);
        transaction.replace(R.id.activity_main_profile_info, profileInfoHomeFragment, ProfileInfoHomeFragment.class.getSimpleName());
В манифесте

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 <activity
                android:name="com.ndevgroup.medic.keeper.MainActivity"
                android:launchMode="singleTop">
        </activity>
        <activity
                android:name=".SeeParametersActivity"
                android:configChanges="locale|orientation|screenSize"
                android:label="@string/interface_home_view_parametrs">
            <!-- Parent activity meta-data to support 4.0 and lower -->
            <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value="com.ndevgroup.medic.keeper.MainActivity" />
 
        </activity>
Буду рада любой помощи :-)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2014, 16:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос При смене ориентации приложение падает из-за фрагмента, который в backStack (Программирование Android):

Пропажа данных при смене ориентации - Программирование Android
При поворачивании телефона все данные обнуляются и вообще такое такое чувство, что приложение только что открылось как это предотвратить

Потеря потока при смене ориентации - Программирование Android
Здравствуйте! У меня приложения связывается по Bluetooth с другими устройствами. Всё работает хорошо. НО! Если перевернуть устройство и...

Бесшовное проигрывание видео при смене ориентации - Программирование Android
Предложите пример или подскажите каким образом можно организовать бесшовное проигрывание видео при смене ориентации устройства?

При смене ориентации экрана накладываются фрагменты - Программирование Android
Юзаю Android.Support.V4.App.Fragment, вроде бы все нормально. При переключении из меню фрагменты скрываю отправляя в &quot;стек&quot; а кликнутый...

Задний фон при смене ориентации экрана - Программирование Android
Здравствуйте! Мне надо чтобы фон не сжимался так, а как в HTML оптимизировал под размер экрана... Заранее спасибо! (Приложение и картинка...

Потеря вывода при смене ориентации экрана - Программирование Android
Калькулятор вывел результат в компонент textview. Стоит поменять ориентацию экрана и весь результат подсчета пропадает. :(

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2014, 16:00
Привет! Вот еще темы с ответами:

Обнуляется массив при смене ориентации устройства - Программирование Android
Здравствуйте. Суть такова. В активити создается массив из путей к изображениям, которые делаются при помощи камеры устройства. Потом...

Выбрасывает из приложения при смене ориентации экрана - Программирование Android
Здравствуйте. Следующая проблема. Создал папку layout-land в папке res. И при добавлении туда вот этого файла xml: &lt;LinearLayout...

Перезагрузка списка при смене ориентации приложения - Программирование Android
Приветствую. Имеется приложение построено на фрагментах . В приложении есть фрагмент с listview в который загружается информации из базы...

Не отображать SplashScreen при смене ориентации экрана - Программирование Android
Не могу понять как сделать чтобы сплэш не появлялся снова при смене ориентации экрана? + подскажите, почему при горизонтальной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru