Форум программистов, компьютерный форум CyberForum.ru

Фрагменты: приложение вылетает при 4-ом нажатии на кнопку - Android

Восстановить пароль Регистрация
 
_Dasha_
 Аватар для _Dasha_
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 39
08.03.2016, 11:26     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #1
Здравствуйте, в фрагменте есть кнопка, при нажатии на неё 3 раза приложение работает, на 4 вылетает, и пишет, что это из-за (View v = inflater.inflate(R.layout.fragment2_1, null); ). Как это исправить?

Java
1
2
3
4
5
6
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment2_1, null);
        btn8 = (Button) v.findViewById(R.id.button8);
        btn8.setOnClickListener(this);
        return v;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2016, 11:26     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку
Посмотрите здесь:

Вылетает приложение при возникновении ошибки Android
Вылетает приложение при чтении файла Android
Android Сброс всех данных при нажатии на кнопку
Android Ошибка при нажатии на кнопку
Android Вылетает приложение при использовании Adobe Air
Android При нажатии на кнопку приложение закрывается
Вылетает приложение при обращении к серверу Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
не спать!
1881 / 1615 / 500
Регистрация: 12.05.2014
Сообщений: 5,836
Завершенные тесты: 1
08.03.2016, 12:08     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #2
Java
1
View v = inflater.inflate(R.layout.fragment2_1, null, false);
и логи ошибки надо видеть что бы не гадать

и где сам метод onClick ?
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
08.03.2016, 12:09     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #3
_Dasha_, добрый день!
Вы можете привести больше кода? Например, onClick.
Также не могли бы показать лог ошибки?
Java
1
View v = inflater.inflate(R.layout.fragment2_1, null);
рекомендуют заменять на
Java
1
View v = inflater.inflate(R.layout.fragment2_1, container, false);
_Dasha_
 Аватар для _Dasha_
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 39
08.03.2016, 12:53  [ТС]     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #4
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public void onClick(View v) {
        fTrans = getFragmentManager().beginTransaction();
        switch (v.getId()) {
            case (R.id.button8):
                fTrans.replace(R.id.frgmCont, frag2_2);
                break;
        
            default:
                break;
        }
 
        fTrans.commit();
    }
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
08.03.2016, 12:57     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #5
_Dasha_, девушка, тогда нужен ещё код фрагмента frag2_2. Вы понимаете, что нажимая на кнопку, вы фактически замещаете один фрагмент другим? И во второй фрагменте кнопка будет уже другая. Нужен и её код.
_Dasha_
 Аватар для _Dasha_
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 39
08.03.2016, 12:58  [ТС]     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #6
03-08 15:58:03.858 10713-10713/com.vda.pomo E/art: Throwing OutOfMemoryError "Failed to allocate a 2669292 byte allocation with 1600996 free bytes and 1563KB until OOM"
03-08 15:58:03.868 10713-10713/com.vda.pomo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.vda.pomo, PID: 10713
java.lang.OutOfMemoryError: Failed to allocate a 2669292 byte allocation with 1600996 free bytes and 1563KB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:741)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:562)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1014)
at android.content.res.Resources.loadDrawableForCookie(Resources.java:3702)
at android.content.res.Resources.loadDrawable(Resources.java:3575)
at android.content.res.TypedArray.getDrawable(TypedArray.java:750)
at android.view.View.<init>(View.java:3939)
at android.widget.TextView.<init>(TextView.java:923)
at android.widget.TextView.<init>(TextView.java:918)
at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:60)
at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:56)
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:92)
at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:938)
at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:992)
at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:181)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:732)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at com.vda.pomo.formul.Fragment2_5.onCreateView(Fragment2_5.java:53)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5832)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

Добавлено через 47 секунд
у неё код такой же
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
08.03.2016, 13:09     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #7
_Dasha_, если почитать http://stackoverflow.com/questions/2...other-fragment, например, то необходимо также не добавлять фрагменты в стек:
Java
1
fTrans.addToBackStack(null);
Разместите после fTrans.replace(R.id.frgmCont, frag2_2);
_Dasha_
 Аватар для _Dasha_
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 39
08.03.2016, 13:31  [ТС]     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #8
Не помогло, к сожалению
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
09.03.2016, 10:05     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #9
_Dasha_, ошибка та же?
А что вы грузите, помимо фрагментов? Какие-то изображения, карты? Что отнимает память?
_Dasha_
 Аватар для _Dasha_
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 39
10.03.2016, 06:27  [ТС]     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #10
да, наверное, всё дело в изображениях, избавиться от них я не могу, так как это формулы по физике. нужно качество уменьшить?
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
10.03.2016, 09:28     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #11
_Dasha_, девушка, вам нужно либо поставить один из кэшей изображений (Fresco, Glide, UIL и др., а также самописные), либо изучить soft reference.
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
12.03.2016, 10:06     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #12
Вот, кстати, известная ссылка с кучей библиотек: http://stackoverflow.com/questions/5...-listview?rq=1
Bend3r
 Аватар для Bend3r
144 / 131 / 18
Регистрация: 29.07.2012
Сообщений: 704
12.03.2016, 10:21     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #13
Цитата Сообщение от CoolMind Посмотреть сообщение
если почитать http://stackoverflow.com/questions/2...other-fragment, например, то необходимо также не добавлять фрагменты в стек:
Java(TM) 2 Platform Standard Edition 5.0Выделить код
1
fTrans.addToBackStack(null);
Разместите после fTrans.replace(R.id.frgmCont, frag2_2);
Как раз таки вы и добавляете этой строчкой фрагмент в stack.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2016, 10:30     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку
Еще ссылки по теме:

Приложение вылетает при старте на 4.1, на 4.4 - работает Android
Вылетает приложение при нажатии на кнопку Android
Android Вылетает приложение при запуске
Android Закрыть приложение при нажатии на кнопку
Android При изменении шрифта на собственный вылетает приложение

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

Или воспользуйтесь поиском по форуму:
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
12.03.2016, 10:30     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку #14
Bend3r, ага. Я ошибся.
Yandex
Объявления
12.03.2016, 10:30     Фрагменты: приложение вылетает при 4-ом нажатии на кнопку
Ответ Создать тему
Опции темы

Текущее время: 04:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru