Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
mulatoschka1990
1 / 1 / 0
Регистрация: 23.10.2009
Сообщений: 9
#1

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

01.08.2014, 16:00. Просмотров 578. Ответов 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
Ответы с готовыми решениями:

Потеря потока при смене ориентации
Здравствуйте! У меня приложения связывается по Bluetooth с другими...

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

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

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

Обнуляется массив при смене ориентации устройства
Здравствуйте. Суть такова. В активити создается массив из путей к...

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

Не отображать SplashScreen при смене ориентации экрана
Не могу понять как сделать чтобы сплэш не появлялся снова при смене ориентации...

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

Выбрасывает из приложения при смене ориентации экрана
Здравствуйте. Следующая проблема. Создал папку layout-land в папке res. И при...


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

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

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