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

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

Войти
Регистрация
Восстановить пароль
 
Kubson
-24 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
#1

Программа вылетает при прокрутке ListActivity - Программирование Android

27.12.2015, 15:06. Просмотров 161. Ответов 1
Метки нет (Все метки)

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

Моя программа вылетает при прокрутке ListActivity вниз... Как это исправить?

Лог ошибки:
Process: spsoft.passwordgenerator, PID: 12386
java.lang.OutOfMemoryError: Failed to allocate a 22339516 byte allocation with 4355084 free bytes and 4MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:816)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:637)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1019)
at android.content.res.Resources.loadDrawableForCookie(Resources.java:3778)
at android.content.res.Resources.loadDrawable(Resources.java:3651)
at android.content.res.Resources.getDrawable(Resources.java:1865)
at android.content.Context.getDrawable(Context.java:408)
at android.widget.ImageView.resolveUri(ImageView.java:752)
at android.widget.ImageView.setImageResource(ImageView.java:408)
at spsoft.passwordgenerator.Adapter.getView(Adapter.java:84)
at android.widget.AbsListView.obtainView(AbsListView.java:2823)
at android.widget.ListView.makeAndAddView(ListView.java:1889)
at android.widget.ListView.fillDown(ListView.java:713)
at android.widget.ListView.fillGap(ListView.java:677)
at android.widget.AbsListView.trackMotionScroll(AbsListView.java:7037)
at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:4164)
at android.widget.AbsListView.onTouchMove(AbsListView.java:5528)
at android.widget.AbsListView.onTouchEvent(AbsListView.java:5363)
at android.view.View.dispatchTouchEvent(View.java:9042)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2701)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2413)
at android.widget.AbsListView.dispatchTouchEvent(AbsListView.java:5305)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2712)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2428)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2712)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2428)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2712)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2428)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2679)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1797)
at android.app.Activity.dispatchTouchEvent(Activity.java:2878)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2640)
at android.view.View.dispatchPointerEvent(View.java:9247)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4786)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4624)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4175)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4228)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4194)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4304)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4202)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4361)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4175)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4228)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4194)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4202)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4175)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6653)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6537)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6508)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6743)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
a
ListActivity:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import android.app.ListActivity;
import android.os.Bundle;
 
public class MyListActivity extends ListActivity {
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        String[] values = new String[] { "Skype", "Vkontakte", "Facebook",
                "Twitter", "Борьба умов", "Google+", "App store", "Телефон",
                "Компьютер", "Viber", "Visa", "Mastercard", "Gmail", "Instagramm", "Wikipedia", "Yandex", "Wi-Fi",
                 "Utorrent", "Steam", "4pda", "tut.by", "Почта", "Ничего из выше перечисленного"};
        Adapter adapter = new Adapter(this, values);
        setListAdapter(adapter);
    }
 
}
Adapter.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
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
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
 
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
 
public class Adapter extends ArrayAdapter<String> {
    private final Context context;
    private final String[] values;
 
    public Adapter(Context context, String[] values) {
        super(context, R.layout.rowlayout, values);
        this.context = context;
        this.values = values;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View rowView = inflater.inflate(R.layout.rowlayout, parent, false);
        TextView textView = (TextView) rowView.findViewById(R.id.textView27);
        ImageView imageView = (ImageView) rowView.findViewById(R.id.imageView);
        textView.setText(values[position]);
        String s = values[position];
        switch (s) {
            case "Vkontakte":
                imageView.setImageResource(R.drawable.vk2);
                break;
            case "Skype":
                imageView.setImageResource(R.drawable.skype);
                break;
            case "Facebook":
                imageView.setImageResource(R.drawable.facebook);
                break;
            case "Twitter":
                imageView.setImageResource(R.drawable.twitter);
                break;
            case "Борьба умов":
                imageView.setImageResource(R.drawable.quiz);
                break;
            case "Google+":
                imageView.setImageResource(R.drawable.google);
                break;
            case "App store":
                imageView.setImageResource(R.drawable.appstore);
                break;
            case "Телефон":
                imageView.setImageResource(R.drawable.phone);
                break;
            case "Компьютер":
                imageView.setImageResource(R.drawable.comp);
                break;
            case "Viber":
                imageView.setImageResource(R.drawable.viber);
                break;
            case "Visa":
                imageView.setImageResource(R.drawable.visa);
                break;
            case "Mastercard":
                imageView.setImageResource(R.drawable.mc);
                break;
            case "Gmail":
                imageView.setImageResource(R.drawable.gmail);
                break;
            case "Instagramm":
                imageView.setImageResource(R.drawable.ins);
                break;
            case "Wikipedia":
                imageView.setImageResource(R.drawable.wiki);
                break;
            case "Yandex":
                imageView.setImageResource(R.drawable.yandex);
                break;
            case "Wi-Fi":
                imageView.setImageResource(R.drawable.wi);
                break;
            case "Utorrent":
                imageView.setImageResource(R.drawable.utorrent);
                break;
            case "Steam":
                imageView.setImageResource(R.drawable.steam);
                break;
            case "4pda":
                imageView.setImageResource(R.drawable.pda);
                break;
            case "tut.by":
                imageView.setImageResource(R.drawable.tut);
                break;
            case "Почта":
                imageView.setImageResource(R.drawable.mail);
                break;
            case "Ничего из выше перечисленного":
                imageView.setImageResource(R.drawable.pg);
                break;
 
        }
 
        return rowView;
    }
}
Заранее большое спасибо!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2015, 15:06     Программа вылетает при прокрутке ListActivity
Посмотрите здесь:

Программа вылетает при переходе на ListActivity - Программирование Android
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Моя программа просто вылетает при переходе на ListActivity. Ниже есть...

Вылетает при прокрутке - Программирование Android
Доброе утро. Тут небольшая проблема возникла. У меня в ListView формируется список категорий, их порядка 1000 а может и больше,...

Программа вылетает при запуске. OutOfMemryError - Программирование Android
Здравствуйте, уважаемые разработчики! Моя программа вылетает сразу при запуске. Вот код ошибки: ava.lang.OutOfMemoryError: Failed to...

При повороте на 90 градусов вылетает программа - Программирование Android
Поворачиваю телефон на 90 градусов и программа сворачивается... Другие программы при повороте поворачиваются на 90 градусов, как и должно...

Программа вылетает при вызове метода OnPrepareDialog - Программирование Android
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Дело в том, что моя программа вылетает при вызове метода...

Программа вылетает при вызове метода getResourse() - Программирование Android
07-31 17:48:23.338 25853-25853/spsoft.passwordgenerator E/AndroidRuntime: FATAL EXCEPTION: main ...

При запуске новой деятельности вылетает с ошибкой (программа легкая для тех, кто программирует под android) - Программирование Android
Здравствуйте! Начал недавно изучать программирование под android, реализовал пять деятельностей в программе, при переходе от заставки к...

При смене ориентации на land программа "вылетает" - Программирование Android
программа в Android Studio. Из приложения вырезал практически все. 5 часов экспериментировал так и не понял из за чего.Единственное...

Ошибка при прокрутке списка - Программирование Android
Создается список нормально, вниз прокручивается ,а когда обратно скролить вверх то при отображении первого элемента краш. Вот адаптер ...

Вызов метода при прокрутке activity - Программирование Android
Как обработать событие когда activity прокрутили в самый низ что бы вызвать какой нибудь метод? Например как новости в ВК при прокрутке...

ListActivity - Программирование Android
Всем доброго времени суток! Вот сегодня столкнулся с проблемой почему когда переименовываю Activity в ListActivity возникает ошибка?...

ListActivity - Программирование Android
Добрый день. Нужно реализовать дополнение нового эоемента в список ListActivity по нажатию каойл ибо кнопки. Стандартно делается череза...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
27.12.2015, 15:09     Программа вылетает при прокрутке ListActivity #2
Так написано ж
Failed to allocate a 22339516 byte allocation with 4355084 free bytes and 4MB until OOM
Как можно натянуть 22 метра на доступных 4?

Смотрите размер своих картинок....
Ответ Создать тему
Опции темы

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