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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.78
AKAndrey
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 54
#1

Загрузка двух фрагментов в ландшафтной ориентации - Программирование Android

20.08.2012, 21:38. Просмотров 2325. Ответов 22
Метки нет (Все метки)

Всем привет!!! Помогите решить кое-какую проблему.

Во фрагменте главной Активности(MainFragmentActivity) есть кнопка которая загружает активность «TwoActivity.class»:

MainFragmentActivity

Java
1
2
3
4
5
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity().getApplicationContext(),TwoActivity.class);
startActivity(intent); 
}
TwoActivity:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.project.qqq;
 
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
 
public class TwoActivity extends FragmentActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    //Загружает если ландшафтная ориентация
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
            setContentView(R.layout.qwerty);
}
}
}
qwerty.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="horizontal"> 
       
<fragment class=" com.project.qqq.OneFragment" --> В логе он по всей видимости указывает на    эту строку не могу понять в чём дело...
          android:layout_weight="1.3"
           android:layout_width="0px"
            android:layout_height="match_parent" ></fragment>
  <fragment class=" com.project.qqq.TwoFragment"
            android:layout_weight="1"
            android:layout_width="0px"
            android:layout_height="match_parent" ></fragment>   
 </LinearLayout>
При вызове TwoActivity.class. При успешной загрузке в ландшафтной ориентации должно появиться два фрагмента один слева, другой справа, но приложение закрывается с сообщением «unfortunately has stopped».
В логе появляются следующий ошибки:

Кликните здесь для просмотра всего текста
08-19 01:55:19.599: E/Trace(3657): error opening trace file: No such file or directory (2)
08-19 01:55:56.539: E/AndroidRuntime(3657): FATAL EXCEPTION: main
08-19 01:55:56.539: E/AndroidRuntime(3657): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.project.qqq/com.project.qqq.TwoActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3512)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.app.ActivityThread.access$700(ActivityThread.java:130)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.os.Handler.dispatchMessage(Handler.java:99)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.os.Looper.loop(Looper.java:137)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.app.ActivityThread.main(ActivityThread.java:4745)
08-19 01:55:56.539: E/AndroidRuntime(3657): at java.lang.reflect.Method.invokeNative(Native Method)
08-19 01:55:56.539: E/AndroidRuntime(3657): at java.lang.reflect.Method.invoke(Method.java:511)
08-19 01:55:56.539: E/AndroidRuntime(3657): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
08-19 01:55:56.539: E/AndroidRuntime(3657): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-19 01:55:56.539: E/AndroidRuntime(3657): at dalvik.system.NativeStart.main(Native Method)
08-19 01:55:56.539: E/AndroidRuntime(3657): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
08-19 01:55:56.539: E/AndroidRuntime(3657): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:256)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.app.Activity.setContentView(Activity.java:1867)
08-19 01:55:56.539: E/AndroidRuntime(3657): at com.project.qqq.Two Activity.onCreate(TwoActivity.java:14)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.app.Activity.performCreate(Activity.java:5008)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
08-19 01:55:56.539: E/AndroidRuntime(3657): ... 12 more
08-19 01:55:56.539: E/AndroidRuntime(3657): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030006
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.content.res.Resources.getValue(Resources.java:1013)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2098)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.content.res.Resources.getLayout(Resources.java:852)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
08-19 01:55:56.539: E/AndroidRuntime(3657): at com.project.qqq.TwoFragment.onCreateView(TwoFragment.java:46)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:846)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1061)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1160)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:272)
08-19 01:55:56.539: E/AndroidRuntime(3657): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
08-19 01:55:56.539: E/AndroidRuntime(3657): ... 22 more


Я уже замучался…помогите решить эту проблему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2012, 21:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Загрузка двух фрагментов в ландшафтной ориентации (Программирование Android):

Разметка для размера hdpi в ландшафтной ориентации - Программирование Android
Всем привет! Кто знает как создать разметку для ландшафтной ориентации на hdpi экране??? Я пробовал создать папку &quot;layout-land-hdpi&quot;,...

Запретить смену ориентации экрана пока идет загрузка - Программирование Android
У меня есть такой код, где активити создается из двух фрагментов и потом запускает поток в котором идет сетевой запрос. В ответ приходит...

Получение ориентации - Программирование Android
Добрый день! Хочу узнать ориентацию, написал функцию: public void getOrintashion () { TextView orint =...

Callback фрагментов - Программирование Android
День добрый. Не совсем понимаю механизм работы коллбэков. Может кто-нибудь проиллюстрировать на конкретном примере? Допустим,...

Изменение ориентации экрана - Программирование Android
здравствуйте. возник вопрос,допустим я программно запретил изменения экрана ...

Смена ориентации экрана - Программирование Android
в папке layout файл screen.xml &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;LinearLayout ...

22
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
20.08.2012, 22:24 #2
Цитата Сообщение от AKAndrey Посмотреть сообщение
NotFoundException: Resource ID
Цитата Сообщение от AKAndrey Посмотреть сообщение
TwoFragment.java:46
.....
0
AKAndrey
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 54
20.08.2012, 23:25  [ТС] #3
Ресурс с ID #0x7f030006 в файле R.java существует. В папке приложения тоже. что касается TwoFragment.java:46 так он ругается на то что не может создать вьюху с таким айдишником...
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
20.08.2012, 23:49 #4
да покажите вы код.
некорректный id, такое бывает если например вместо id лаяута вы указываете, например, id картинки.

Добавлено через 7 минут
Цитата Сообщение от AKAndrey Посмотреть сообщение
Ресурс с ID #0x7f030006 в файле R.java существует.
ну и чего это id и как вы его используете?
0
AKAndrey
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 54
20.08.2012, 23:55  [ТС] #5
OneFragment.java

Java
1
2
3
4
5
6
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.onexml, container, false);// это единственное место где он используется
        return view;
    }
R.java

Java
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
/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */
 
package com.project.qqq;
 
public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int ic_action_search=0x7f020000;
        public static final int ic_launcher=0x7f020001;
        public static final int logotip=0x7f020002;
    }
    public static final class id {
        public static final int EditLogin=0x7f070002;
        public static final int EditPassword=0x7f070003;
        public static final int EnterMcr=0x7f070004;
        public static final int LayRelatWriteText=0x7f070007;
        public static final int LayoutLinear=0x7f070000;
        public static final int LinearFragment=0x7f070005;
        public static final int LinerMicroblog=0x7f070006;
        public static final int ListMessages=0x7f07000c;
        public static final int Logotip=0x7f070001;
        public static final int Message=0x7f07000b;
        public static final int NonMessage=0x7f07000d;
        public static final int SendText=0x7f070010;
        public static final int Text=0x7f07000f;
        public static final int Time=0x7f07000a;
        public static final int WriteTextLinear=0x7f07000e;
        public static final int item_headerText=0x7f070008;
        public static final int item_subHeaderText=0x7f070009;
        public static final int menu_settings=0x7f070011;
    }
    public static final class layout {
        ...
        public static final int onexml=0x7f030006;
        public static final int slide_left_in=0x7f030007;
        public static final int slide_left_out=0x7f030008;
        public static final int slide_right_in=0x7f030009;
        public static final int slide_right_out=0x7f03000a;
        ...
    }
    public static final class menu {
        public static final int activity_main=0x7f060000;
    }
    public static final class string {
        public static final int EditLogin=0x7f040009;
        public static final int EditPassword=0x7f04000a;
        public static final int EnterMcr=0x7f040007;
        public static final int LabelLogin=0x7f040003;
        public static final int LabelPassword=0x7f040004;
        public static final int SendMessage=0x7f040008;
        public static final int app_name=0x7f040005;
        public static final int hello_world=0x7f040000;
        public static final int logotip=0x7f04000b;
        public static final int mcr_name=0x7f040006;
        public static final int menu_settings=0x7f040001;
        public static final int title_activity_main=0x7f040002;
    }
    public static final class style {
        /**  <style name="AppTheme" parent="android:Theme.Light" />
         */
        public static final int AppTheme=0x7f050000;
    }
}
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.08.2012, 00:03 #6
R.layout.onexml покажите
0
AKAndrey
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 54
21.08.2012, 00:06  [ТС] #7
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:gravity="center_vertical"
    >
    <TextView
    android:id="@+id/Time"  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:paddingTop="0dp"
    android:textAppearance="?android:attr/textAppearanceMedium" />
 
    <TextView
    android:id="@+id/Message"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:paddingBottom="0dp"
    android:textAppearance="?android:attr/textAppearanceMedium"/>
    <ListView
        android:id="@+id/ListMessages"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:listSelector="@android:color/transparent" 
        android:soundEffectsEnabled="false">
    </ListView>  
    
    <TextView
    android:id="@+id/NonMessage"  
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:gravity="center"
    android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.08.2012, 00:11 #8
выложите архив проекта, так будет проще разобраться.

Добавлено через 46 секунд
Цитата Сообщение от AKAndrey Посмотреть сообщение
OneFragment.java
эээ, я же просил
Цитата Сообщение от V0v1k Посмотреть сообщение
TwoFragment
0
efirist
2 / 2 / 0
Регистрация: 23.03.2012
Сообщений: 20
21.08.2012, 00:43 #9
не знаю что там у вас с фрагментами 8/ ,но вот это лишнее
Java
1
2
3
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
            setContentView(R.layout.qwerty);
}
в таких случаях делается папка с постфиксом land
можно просто
layout-land для ландшафта
и
layout для портрета
с соответствующими qwerty.xml для каждого
возможно вы насильно пытаетесь заставить систему счесть портретную папку тогда как девайс в ландшафте .
и потом чего это в xml смайлик делает ? видимо там =":"+"p"
0
AKAndrey
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 54
21.08.2012, 00:49  [ТС] #10
в архиве wwwww.rar
0
Вложения
Тип файла: rar wwwww.rar (399.5 Кб, 9 просмотров)
AKAndrey
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 54
21.08.2012, 00:53  [ТС] #11
пробовал я добавлять в папку layout-land, но ничего не менялось. А на счёт смайликов так это просто когда в тексте встречается ":P" и т.д, то он заменяет это как на смайлик))))
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.08.2012, 00:57 #12
первое что бросилось в глаза - нет второй активити в манифесте.
0
AKAndrey
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 54
21.08.2012, 00:57  [ТС] #13
пробовал я добавлять в папку layout-land, но ничего не менялось. А на счёт смайликов так это естественно там присутствует строка "android:" + PaddingTop="0dp""
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.08.2012, 01:00 #14
вы что-то не то выложили...
0
AKAndrey
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 54
21.08.2012, 01:02  [ТС] #15
у меня они есть вот:

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
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.project.wwwww"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />
 
   <uses-permission android:name="android.permission.INTERNET"/>
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/mcr_name"
        android:theme="@style/AppTheme"
         >
        <activity
            android:name=".EnterActivity"
            android:label="@string/mcr_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        
        
        <activity<--Вот вторая
            android:name=".MicroblogActivity"
            android:label="@string/mcr_name"
             ></activity>
        <activity<--Вот третья
            android:name=".WriteTextActivity"
            android:label="@string/mcr_name"
             ></activity>
    </application>
 
</manifest>
Добавлено через 2 минуты
Это как раз таки то. Просто до того как я вам архив отправил я заменял название файлов.
0
21.08.2012, 01:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2012, 01:02
Привет! Вот еще темы с ответами:

Анимация фрагментов и активити - Программирование Android
Задаю анимацию для фрагментов и активити, но она работает на моём устройстве только в том случае, если в настройках телефона включена...

Взаимодействие вложенных фрагментов - Программирование Android
Есть главная activity, на неё помещён Фрагмент_1, который внутрь себя помещает Фрагмент_2. Как Фрагмент_2 может получить ссылку на...

Анимация фрагментов - не отображается - Программирование Android
Доброго времени суток всем!!! В своем проекте пытаюсь сделать анимацию при замене фрагмента, но эффект не совсем тот который ожидаю. ...

Жизненный цикл фрагментов - Программирование Android
В программе есть 2 фрагмента. один заменяется другим при наступлении определенного события(общий контейнер у них). я забиндил на onPause...


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

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

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