powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
17 сообщений из 17, страница 1 из 1
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840188
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня три вкладки, я могу вернуться со второй кладки на первую но когда я возвращаюсь с третьей на вторую то уже не могу вернуться на первую и программа отваливается в логах пишет

в первой вкладке два фрагмента

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<fragment

    android:name="com.example.eldos.callreport.Fragment1"
    android:id="@+id/frag1"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    tools:layout="@layout/fragment1"/>

<fragment
    android:name="com.example.eldos.callreport.Fragment2"
    android:id="@+id/frag2"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    tools:layout="@layout/fragment2"/>


код где создаются вкладки

Код: 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.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
public class ScreenOne extends Fragment {

    private SlidingTabLayout mSlidingTabLayout;

    private ViewPager mViewPager;

    public ScreenOne() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.screen_first, container, false);
        Log.i("log", "onCreateView");

        return rootView;
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        // Get the ViewPager and set it's PagerAdapter so that it can display items
        mViewPager = (ViewPager) view.findViewById(R.id.viewpager);
        mViewPager.setAdapter(new SamplePagerAdapter());

        // Give the SlidingTabLayout the ViewPager, this must be
        // done AFTER the ViewPager has had it's PagerAdapter set.
        mSlidingTabLayout = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
        mSlidingTabLayout.setViewPager(mViewPager);

    }

    // Adapter
    class SamplePagerAdapter extends PagerAdapter {

        /**
         * Return the number of pages to display
         */
        @Override
        public int getCount() {
            return 4;
        }

        /**
         * Return true if the value returned from is the same object as the View
         * added to the ViewPager.
         */
        @Override
        public boolean isViewFromObject(View view, Object o) {
            return o == view;
        }

        /**
         * Return the title of the item at position. This is important as what
         * this method returns is what is displayed in the SlidingTabLayout.
         */
        @Override
        public CharSequence getPageTitle(int position) {
            return "Screen " + (position + 1);
        }

        /**
         * Instantiate the View which should be displayed at position. Here we
         * inflate a layout from the apps resources and then change the text
         * view to signify the position.
         */
        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            // Inflate a new layout from our resources
            View view = null;
            if(position == 0){
                 view = getActivity().getLayoutInflater().inflate(R.layout.activity_main,container, false);
                container.addView(view);
//                TextView title = (TextView) view.findViewById(R.id.item_title);
//                title.setText("It's first page");
            }
            // Add the newly created View to the ViewPager

            // Retrieve a TextView from the inflated View, and update it's text
            if(position == 1) {
                 view = getActivity().getLayoutInflater().inflate(R.layout.pager_item, container, false);
                container.addView(view);
                TextView title = (TextView) view.findViewById(R.id.item_title);
                title.setText("It's first page");
            }
            if(position == 2) {
                 view = getActivity().getLayoutInflater().inflate(R.layout.pager_item, container, false);
                container.addView(view);
                TextView title = (TextView) view.findViewById(R.id.item_title);
                title.setText("It's first page");
            }
            else {
                view = getActivity().getLayoutInflater().inflate(R.layout.pager_item, container, false);
                container.addView(view);
                TextView title = (TextView) view.findViewById(R.id.item_title);
                title.setText("It's first page");
            }
            // Return the View
            return view;
        }

        /**
         * Destroy the item from the ViewPager. In our case this is simply
         * removing the View.
         */
        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            container.removeView((View) object);
        }
    }
}



выводит ошибку когда я перелистываю с третьей на вторую и даже если я просто задеваю эту вторую вкладку,

12-22 08:50:42.060 1558-1558/com.example.eldos.callreport E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.example.eldos.callreport, PID: 1558 android.view.InflateException: Binary XML file line #18: Error inflating class fragment at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:397) at com.example.eldos.callreport.fragments.ScreenOne$SamplePagerAdapter.instantiateItem(ScreenOne.java:92) at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:837) at android.support.v4.view.ViewPager.populate(ViewPager.java:1021) at android.support.v4.view.ViewPager.populate(ViewPager.java:919) at android.support.v4.view.ViewPager$3.run(ViewPager.java:249) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) at android.view.Choreographer.doCallbacks(Choreographer.java:574) at android.view.Choreographer.doFrame(Choreographer.java:543) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5001) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.IllegalArgumentException: Binary XML file line #18: Duplicate id 0x7f090040, tag null, or parent id 0x0 with another fragment for com.example.eldos.callreport.Fragment1 at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2164) at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:297) at android.support.v7.app.ActionBarActivity.onCreateView(ActionBarActivity.java:547) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:397) at com.example.eldos.callreport.fragments.ScreenOne$SamplePagerAdapter.instantiateItem(ScreenOne.java:92) at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:837) at android.support.v4.view.ViewPager.populate(ViewPager.java:1021) at android.support.v4.view.ViewPager.populate(ViewPager.java:919) at android.support.v4.view.ViewPager$3.run(ViewPager.java:249) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) at android.view.Choreographer.doCallbacks(Choreographer.java:574) at android.view.Choreographer.doFrame(Choreographer.java:543) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5001) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) at dalvik.system.NativeStart.main(Native Method)


проблема в том что не восстанавливается или корректно не удаляется фрагменты

Модератор: Просьба пользоваться спойлером.
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840200
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕлдосBinary XML file line #18
Что в этой строчке находится?

И да, говоришь три страницы?
Елдос
Код: java
1.
2.
3.
4.
@Override
        public int getCount() {
            return 4;
        }
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840248
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanЕлдосBinary XML file line #18
Что в этой строчке находится?

И да, говоришь три страницы?
Елдос
Код: java
1.
2.
3.
4.
@Override
        public int getCount() {
            return 4;
        }


да сейчас три, это я проверял,

Код: 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.
   @Override
        public Object instantiateItem(ViewGroup container, int position) {
            // Inflate a new layout from our resources
            View view = null;
            if(position == 0){
                 view = getActivity().getLayoutInflater().inflate(R.layout.activity_main,container, false);
                container.addView(view);
//                TextView title = (TextView) view.findViewById(R.id.item_title);
//                title.setText("It's first page");
            }
            // Add the newly created View to the ViewPager

            // Retrieve a TextView from the inflated View, and update it's text
            if(position == 1) {
                 view = getActivity().getLayoutInflater().inflate(R.layout.pager_item, container, false);
                container.addView(view);
                TextView title = (TextView) view.findViewById(R.id.item_title);
                title.setText("It's first page");
            }
            if(position == 2) {
                 view = getActivity().getLayoutInflater().inflate(R.layout.pager_item, container, false);
                container.addView(view);
                TextView title = (TextView) view.findViewById(R.id.item_title);
                title.setText("It's first 
            return view;
        }


в этой строчке
Код: xml
1.
2.
3.
4.
5.
6.
7.
<fragment

    android:name="com.example.eldos.callreport.Fragment1"
    android:id="@+id/frag1"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    tools:layout="@layout/fragment1"/>



я думаю проблема в том что, вьюшки уничтожаются но фрагменты не уничтожаются и когда он хочет заново создать и так как он уже есть он выводит что он типа уже есть duplicate,
только вот как это устранить.

пробовал во фрагменте писать
@Override public void onDestroyView() {
super.onDestroyView();

}
но ошибка так же выходила
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840288
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елдос,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment1, container, false);
    }
/*    public void onDestroy() {
        super.onDestroy();
    }*/

    @Override
public void onDestroyView() {
    super.onDestroyView();
        Log.i("fragment1", "ondestroy");

}
    public void onDetach() {
        super.onDetach();
        Log.i("fragment1", "ondetach");

    }
}


вот еще код фрагмента.
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840305
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каша какая-то...

Попробуй объяснить сначала, что именно ты хочешь получить в интерфейсе? Покажи рисунок.
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840359
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanКаша какая-то...

Попробуй объяснить сначала, что именно ты хочешь получить в интерфейсе? Покажи рисунок.
у меня три вкладки,
view pager уничтожает view или удаляет их из контейнера, когда к примеру я окажусь на третьей вкладке он удаляет из контейнера первую и сохраняет только соседние справа и слева по одному, а другие удаляет.
ну вот так как он удаляет из контейнера эти view а фрагменты как бы не удаляются и вот когда он хочет создать его заново и выводит ошибку, что то типа duplicate,
там вот мне надо бы как то сделать чтобы эти фрагменты тоже удалялись что бы при пересоздании не выводила ошибку.
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840402
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елдос, картинка зачетная :)
Елдосчто то типа duplicate
В первом сообщении ни слова о dublicate. Там ошибка чтения. Обычно возникает из-за отсутствия класса, файла и т.п. На какую строку указывает, ты тоже не рассказываешь...
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840493
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanЕлдос, картинка зачетная :)
Елдосчто то типа duplicate
В первом сообщении ни слова о dublicate. Там ошибка чтения. Обычно возникает из-за отсутствия класса, файла и т.п. На какую строку указывает, ты тоже не рассказываешь...
вот эта строка которую вы и спрашивали про номер 18

Binary XML file line #18: Duplicate id 0x7f090040, tag null, or parent id 0x0 with another fragment for com.example.eldos.callreport.Fragment1 at android.support
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840545
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840907
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanЕлдос, как-то не понимаю тебя... Почитай тут http://stackoverflow.com/questions/14928833/android-app-error-duplicate-id-0x7f04000f-tag-null-or-parent-id-0x0-with-ano
да видел их и много других советов на SOF, везде одна и та же ошибка
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840957
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что то ты не так делаешь

в getItem получил вьюшку

в instantiateItem
положил вьюшку в контейнер
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38840980
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джибсчто то ты не так делаешь

в getItem получил вьюшку

в instantiateItem
положил вьюшку в контейнер
getitem без него, вроде бы сейчас работает то есть кое как работает.
ну вот подскажите мне что делать
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38841563
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну тогда проверяй наличие вьюшки в контейнере.
это самое просто решение

при 3 - вьюшках 1-2-3 , 2 по середине скорее не убьется, так как вьюпагер ее будет держать за ранее что бы при перелистывание не создавать заново.
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38841588
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джибсну тогда проверяй наличие вьюшки в контейнере.
это самое просто решение

при 3 - вьюшках 1-2-3 , 2 по середине скорее не убьется, так как вьюпагер ее будет держать за ранее что бы при перелистывание не создавать заново.

Как это сделать
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38841621
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕлдосДжибсну тогда проверяй наличие вьюшки в контейнере.
это самое просто решение

при 3 - вьюшках 1-2-3 , 2 по середине скорее не убьется, так как вьюпагер ее будет держать за ранее что бы при перелистывание не создавать заново.

Как это сделать

setId
findbyid
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38841982
Елдос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжибсЕлдоспропущено...


Как это сделать

setId
findbyid
дело в том что они из контейнера удаляются нормально, но фрагменты не уничтожаются скорее всего.
и вот так как его в контейнере не будет соответственно он будет говорить что такой уже есть и что то типа дублика вновь повторно создаваемый фрагмент
...
Рейтинг: 0 / 0
Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
    #38842493
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не вижу где ты создаешь фрагменты
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Binary XML file line Duplicate id 0x7f090040, tag null, or parent id 0x0 with another
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]