Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/2: Рейтинг темы: голосов - 2, средняя оценка - 5.00
_Dasha_
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 64
1

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

08.03.2016, 11:26. Просмотров 429. Ответов 13
Метки нет (Все метки)

Здравствуйте, в фрагменте есть кнопка, при нажатии на неё 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;
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2016, 11:26
Ответы с готовыми решениями:

Вылетает приложение при нажатии на кнопку
Здравствуйте, столкнулся с проблемой, что при нажатии на кнопку приложение вылетает. Программирую в...

Поиск bluetooth-устройств, программа вылетает при повторном нажатии на кнопку
есть проблема, при нажатии на кнопку должен выполняться поиск bluetooth устройств(20 секунд), после...

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

Закрыть приложение при нажатии на кнопку
Народ сильно не ругайте, не могу вспомнить как что указать, чтобы при нажатии на кнопку приложение...

При нажатии на кнопку приложение вылетает
Только начинаю изучать swift и возникла такая проблема: пишу простенькое приложение, на экране три...

13
Pablito
2812 / 2236 / 754
Регистрация: 12.05.2014
Сообщений: 7,821
Завершенные тесты: 1
08.03.2016, 12:08 2
Java
1
View v = inflater.inflate(R.layout.fragment2_1, null, false);
и логи ошибки надо видеть что бы не гадать

и где сам метод onClick ?
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
08.03.2016, 12:09 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);
0
_Dasha_
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 64
08.03.2016, 12:53  [ТС] 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();
    }
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
08.03.2016, 12:57 5
_Dasha_, девушка, тогда нужен ещё код фрагмента frag2_2. Вы понимаете, что нажимая на кнопку, вы фактически замещаете один фрагмент другим? И во второй фрагменте кнопка будет уже другая. Нужен и её код.
0
_Dasha_
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 64
08.03.2016, 12:58  [ТС] 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 секунд
у неё код такой же
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
08.03.2016, 13:09 7
_Dasha_, если почитать http://stackoverflow.com/questions/2...other-fragment, например, то необходимо также не добавлять фрагменты в стек:
Java
1
fTrans.addToBackStack(null);
Разместите после fTrans.replace(R.id.frgmCont, frag2_2);
0
_Dasha_
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 64
08.03.2016, 13:31  [ТС] 8
Не помогло, к сожалению
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
09.03.2016, 10:05 9
_Dasha_, ошибка та же?
А что вы грузите, помимо фрагментов? Какие-то изображения, карты? Что отнимает память?
0
_Dasha_
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 64
10.03.2016, 06:27  [ТС] 10
да, наверное, всё дело в изображениях, избавиться от них я не могу, так как это формулы по физике. нужно качество уменьшить?
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
10.03.2016, 09:28 11
_Dasha_, девушка, вам нужно либо поставить один из кэшей изображений (Fresco, Glide, UIL и др., а также самописные), либо изучить soft reference.
1
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
12.03.2016, 10:06 12
Вот, кстати, известная ссылка с кучей библиотек: http://stackoverflow.com/questions/5...-listview?rq=1
0
Bend3r
149 / 136 / 35
Регистрация: 29.07.2012
Сообщений: 709
12.03.2016, 10:21 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.
0
CoolMind
422 / 404 / 66
Регистрация: 06.10.2012
Сообщений: 1,734
12.03.2016, 10:30 14
Bend3r, ага. Я ошибся.
0
12.03.2016, 10:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2016, 10:30

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

Взломали сайт. Вылетает 404 ошибка при нажатии на кнопку.
Взломали сайт не знаю что делать помогите

Зависает приложение при нажатии на кнопку
Почему висит окошко при нажатии на кнопку?помогите!новичок в этом совсем. не могу разобраться from...


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

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

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