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

Приложение падает когда шапка Navigation Drawer Activity пропадает из виду - Android

Восстановить пароль Регистрация
 
Starikov
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 28
16.10.2016, 13:20     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #1
В моей программе используется Navigation Drawer Activity и в нем много пунктов меню. И поэтому как только шапка Navigation Drawer Activity пропадает из виду, приложение выдает сообщение об ошибке и закрывается. Тестирую приложение на своем телефоне android 5.1 Буду рад помощи.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2016, 13:20     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду
Посмотрите здесь:

Падает программа Navigation Drawer Android
Navigation Drawer Android
Navigation drawer Android
Android Studio - Navigation Drawer Activity, многостраничное Android
Android Navigation drawer
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
не спать!
1802 / 1536 / 477
Регистрация: 12.05.2014
Сообщений: 5,590
Завершенные тесты: 1
16.10.2016, 13:25     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #2
без кода и лога ошибки - на форум экстрасенсов
Starikov
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 28
16.10.2016, 13:57  [ТС]     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #3
Извините, совсем забыл

Добавлено через 15 секунд
Сейчас сделаю скриншоты

Добавлено через 4 минуты
10-16 15:56:22.834 15373-15373/com.ffteam.handbook E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ffteam.handbook, PID: 15373
java.lang.OutOfMemoryError: Failed to allocate a 92160012 byte allocation with 2097056 free bytes and 57MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:651)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:486)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:993)
at android.content.res.Resources.loadDrawableForCookie(Resources.java:2723)
at android.content.res.Resources.loadDrawable(Resources.java:2614)
at android.content.res.Resources.getDrawable(Resources.java:900)
at android.content.Context.getDrawable(Context.java:408)
at android.support.v4.content.ContextCompatApi21.getDrawable(ContextCompatApi21.java:26)
at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:344)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:197)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:185)
at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100)
at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:421)
at android.support.design.internal.NavigationMenuItemView.initialize(NavigationMenuItemView.java:113)
at android.support.design.internal.NavigationMenuPresenter$NavigationMenuAdapter.onBindViewHolder(NavigationMenuPresenter.java:415)
at android.support.design.internal.NavigationMenuPresenter$NavigationMenuAdapter.onBindViewHolder(NavigationMenuPresenter.java:338)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5825)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5858)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5094)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4970)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2029)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1414)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1377)
at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1193)
at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1043)
at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java:1596)
at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2704)
at android.view.View.dispatchTouchEvent(View.java:8601)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2513)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2157)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2519)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2171)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2519)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2171)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2519)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2171)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2519)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2171)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2519)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2171)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2519)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2171)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2519)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2171)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2491)
at

Добавлено через 15 секунд
вот код ошибки
Паблито
не спать!
1802 / 1536 / 477
Регистрация: 12.05.2014
Сообщений: 5,590
Завершенные тесты: 1
16.10.2016, 14:09     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #4
Цитата Сообщение от Starikov Посмотреть сообщение
OutOfMemoryError: Failed to allocate a 92160012 byte allocation with 2097056 free bytes and 57MB until OOM
значит где-то огромная картинка или несколько картинок, которые не влазят в память
Starikov
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 28
16.10.2016, 14:18  [ТС]     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #5
у каждого элемента есть свой значок, я так понимаю это причина? но почему тогда ошибка именно тогда когда шапка выходит из поля зрения

Добавлено через 43 секунды
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
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="none">
        <item android:title="Математика">
            <menu>
                <item
                    android:title="Алгебра"
                    android:id="@+id/al"
                    android:icon="@drawable/al"/>
                <item
                    android:title="Геометрия"
                    android:id="@+id/ge"
                    android:icon="@drawable/ge"/>
            </menu>
        </item>
    </group>
    <group android:checkableBehavior="none">
        <item android:title="@string/fi">
            <menu>
                <item
                    android:title="@string/si"
                    android:id="@+id/si"
                    android:icon="@drawable/si"/>
                <item
                    android:title="@string/vz_tel"
                    android:id="@+id/vz_tel"
                    android:icon="@drawable/vz_tel"/>
                <item
                    android:title="@string/davl"
                    android:id="@+id/davl"
                    android:icon="@drawable/davl"/>
                <item
                    android:title="@string/rab"
                    android:id="@+id/rab"
                    android:icon="@drawable/rab"/>
                <item
                    android:title="@string/voln"
                    android:id="@+id/voln"
                    android:icon="@drawable/voln"/>
                <item
                    android:title="@string/warm"
                    android:id="@+id/warm"
                    android:icon="@drawable/warm"/>
                <item
                    android:title="@string/electr"
                    android:id="@+id/electr"
                    android:icon="@drawable/electr"/>
                <item
                    android:title="@string/light"
                    android:id="@+id/light"
                    android:icon="@drawable/light"/>
                <item
                    android:title="@string/atom"
                    android:id="@+id/atom"
                    android:icon="@drawable/atom"/>
                <item
                    android:title="@string/spravka"
                    android:id="@+id/spravka"
                    android:icon="@drawable/spravka"/>
            </menu>
        </item>
    </group>
 
</menu>
вот код меню

Добавлено через 3 минуты
сумма всех используемых значков в меню = 235 КБ

Добавлено через 12 секунд
сумма всех используемых значков в меню = 235 КБ
Паблито
не спать!
1802 / 1536 / 477
Регистрация: 12.05.2014
Сообщений: 5,590
Завершенные тесты: 1
16.10.2016, 14:26     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #6
код бы активити и разметку
Starikov
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 28
16.10.2016, 14:37  [ТС]     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #7
ок сейчас будет

Добавлено через 48 секунд
разметку какую? main_activity?

Добавлено через 2 минуты
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
112
113
package com.ffteam.handbook;
 
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
 
public class MainActivity extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
 
        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
 
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();
 
        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
    }
 
    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();
 
        if (id == R.id.al) {
 
        } else if (id == R.id.ge) {
 
        } else if (id == R.id.vz_tel) {
 
        } else if (id == R.id.davl) {
 
        } else if (id == R.id.si) {
 
        } else if (id == R.id.rab) {
 
        } else if (id == R.id.voln) {
 
        } else if (id == R.id.warm) {
 
        } else if (id == R.id.electr) {
 
        } else if (id == R.id.light) {
 
        } else if (id == R.id.atom) {
 
        } else if (id == R.id.spravka) {
 
        }
 
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }
}
вот MainActivity.java

Добавлено через 3 минуты
создавал проект сразу готовым шаблоном Navigation Drawer Activity
Паблито
не спать!
1802 / 1536 / 477
Регистрация: 12.05.2014
Сообщений: 5,590
Завершенные тесты: 1
16.10.2016, 14:40     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #8
картинки для меню и шапки векторные?

если нет то какого размера сами картинки? в пикселях, не размер файла, а именно в пикселях
Starikov
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 28
16.10.2016, 14:43  [ТС]     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #9
картинки я скачивал с рунета

Добавлено через 20 секунд
а размер всех картинок?

Добавлено через 1 минуту
все картинки формата png, сейчас посмотрю размер
Паблито
не спать!
1802 / 1536 / 477
Регистрация: 12.05.2014
Сообщений: 5,590
Завершенные тесты: 1
16.10.2016, 14:43     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #10
я не спрашиваю откуда они скачаны, а совсем другие наводящие вопросы
Starikov
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 28
16.10.2016, 14:52  [ТС]     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #11
самая маленькая 80 х 80, самая большая 1200 х1200

Добавлено через 22 секунды
шапка это линейный градиент

Добавлено через 1 минуту
менял размер шапки чтобы разные пункты меню попадали, но все равно при исчезновении шапки выдается ошибка

Добавлено через 2 минуты
вот код градиента шапки
XML
1
2
3
4
5
6
7
8
9
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:angle="135"
        android:centerColor="#4CAF50"
        android:endColor="#2E7D32"
        android:startColor="#81C784"
        android:type="linear" />
</shape>
а вот код самой шапки
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
<?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="@dimen/nav_header_height"
    android:background="@drawable/side_nav_bar"
    android:gravity="bottom"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:theme="@style/ThemeOverlay.AppCompat.Dark"
    android:weightSum="1">
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/app_name"
        android:id="@+id/handbook"
        android:layout_weight="0.16" />
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="@string/spr"
        android:id="@+id/textView"
        android:layout_weight="0.19" />
 
</LinearLayout>
fraley
76 / 76 / 28
Регистрация: 24.05.2015
Сообщений: 213
16.10.2016, 14:52     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #12
Можно в манифесте в application прописать:
XML
1
android:largeHeap="true"
Но это не слишком хорошее решение.
Starikov
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 28
16.10.2016, 14:57  [ТС]     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #13
сейчас попробую и скажу результат

Добавлено через 2 минуты
выскакивает та же самая ошибка, ничего не изменилось. вот манифест
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ffteam.handbook">
 
    <application
        android:largeHeap="true"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher1"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>
Добавлено через 1 минуту
есть ли еще варианты решить проблему?
Паблито
не спать!
1802 / 1536 / 477
Регистрация: 12.05.2014
Сообщений: 5,590
Завершенные тесты: 1
16.10.2016, 14:59     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #14
Сообщение было отмечено автором темы, экспертом или модератором как ответ
картинка 1200 х1200 будет занимать в памяти больше 4 мегабайт
зачем на иконки ставить картинку такого огромного размера?
Starikov
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 28
16.10.2016, 15:19  [ТС]     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #15
забыл уменьшить, сейчас уменьшу, скажу что получилось

Добавлено через 18 минут
изменил размер всех картинок до 200 х 200, проблема осталась
вот код ошибки
java.lang.OutOfMemoryError: Failed to allocate a 92160012 byte allocation with 2097056 free bytes and 57MB until OOM
даже не изменилось количество байтов
Паблито
не спать!
1802 / 1536 / 477
Регистрация: 12.05.2014
Сообщений: 5,590
Завершенные тесты: 1
16.10.2016, 15:21     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #16
Цитата Сообщение от Starikov Посмотреть сообщение
изменил размер всех картинок до 200 х 200
размер именно картинок или просто размеры в xml разметке?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2016, 15:22     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду
Еще ссылки по теме:

Android Navigation Drawer
Как в navigation drawer activity засунуть активити Android
Смена activity в Navigation Drawer Android

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

Или воспользуйтесь поиском по форуму:
Starikov
0 / 0 / 0
Регистрация: 16.10.2016
Сообщений: 28
16.10.2016, 15:22  [ТС]     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду #17
о все работает, забыл приложение удалить и заново поставить

Добавлено через 19 секунд
спасибо вам за внимание!!!
Yandex
Объявления
16.10.2016, 15:22     Приложение падает когда шапка Navigation Drawer Activity пропадает из виду
Ответ Создать тему
Опции темы

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