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

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

Войти
Регистрация
Восстановить пароль
 
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
#1

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

06.07.2016, 10:54. Просмотров 217. Ответов 11
Метки нет (Все метки)

Доброе утро. Тут небольшая проблема возникла.

У меня в ListView формируется список категорий, их порядка 1000 а может и больше, подгружаются они с сервера там все предусмотрено (LIMIT, OFFSET).

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

В чем может быть проблема.


//Занимается формированием прокрутки
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
        item.addOnScrollListener(new RecyclerView.OnScrollListener()
        {
            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
 
                visibleItemCount = recyclerView.getChildCount();
                totalItemCount = layoutManager.getItemCount();
                firstVisibleItem = layoutManager.findFirstVisibleItemPosition();
 
                if (loading) {
                    if (totalItemCount > previousTotal) {
                        loading = false;
                        previousTotal = totalItemCount;
                        currentPage++;
                    }
                }
                if (!loading && (totalItemCount - visibleItemCount)
                        <= (firstVisibleItem + visibleThreshold)) {
                    // End has been reached
 
                    new Loading().execute(String.valueOf(item_id));
 
                    loading = true;
                }
            }
 
 
        });

//AsyncTasc
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
    public class Loading extends AsyncTask<String,String,String>
    {
 
        @Override
        protected String doInBackground(String... params)
        {
            HttpUrl.Builder urlBuilder = HttpUrl.parse("url").newBuilder();
            urlBuilder.addQueryParameter("item_id",params[0]);
            urlBuilder.addQueryParameter("offset", Integer.toString(10 * currentPage));
            String url = urlBuilder.build().toString();
            Request request = new Request.Builder().url(url).build();
            Response response = null;
 
            try
            {
                response = client.newCall(request).execute();
 
                String jsonData = response.body().string();
                JSONObject Jobject = new JSONObject(jsonData);
 
                if (Jobject != null)
                {
                    listJSON = Jobject.getJSONArray("list");
 
                    for (int i = 0; i < listJSON.length(); i++)
                    {
                        JSONObject catalog = listJSON.getJSONObject(i);
                        ListModel list = new ListModel();
                        
                        list.setNewsTitle(catalog.getString("name"));
 
                        ItemList.add(list);
                    }
                }
 
            } catch (IOException e) {
                e.printStackTrace();
            } catch (JSONException e) {
                e.printStackTrace();
            }
 
            return null;
        }
 
        protected void onPostExecute(final String file_url)
        {
            getActivity().runOnUiThread(new Runnable() {
                public void run()
                {
                    adapter.notifyDataSetChanged();
 
                }
            });
        }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2016, 10:54     Вылетает при прокрутке
Посмотрите здесь:

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

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

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

Сохранить измененные значения EditText в ListView при прокрутке - Программирование Android
Добрый день, прошу помощи, т.к. уже долго и безрезультатно пытаюсь решить следующую задачу: Есть Листвью с названиями товаров ,...

Белый фон при прокрутке listview и actionbar в android 2.1 - Программирование Android
При прокрутке ListView на Android 2.3 появляется белый фон. Ставил Cache Color Hint на прозрачный или на цвет фона, не помогает. Как это...

Как сделать границы в пространстве ImageView при прокрутке изображения - Программирование Android
Как сделать границы в пространстве ImageView при прокрутке большого изображения &lt;ImageView ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,603
Завершенные тесты: 1
06.07.2016, 10:55     Вылетает при прокрутке #2
Цитата Сообщение от Shamsik Посмотреть сообщение
вылетает приложение без ошибок
так не бывает
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
06.07.2016, 11:04  [ТС]     Вылетает при прокрутке #3
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
07-06 11:02:55.397 13100-13111/com.project.one I/art: Background sticky concurrent mark sweep GC freed 20730(2MB) AllocSpace objects, 146(7MB) LOS objects, 22% free, 36MB/46MB, paused 8.842ms total 38.872ms
07-06 11:02:55.433 13100-13248/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:55.487 13100-13246/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:55.526 13100-13245/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:55.564 13100-13256/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:55.601 13100-13248/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:55.643 13100-13246/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:55.684 13100-13245/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:55.859 13100-13256/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:55.931 13100-13248/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:55.982 13100-13246/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:55.991 13100-13245/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:56.023 13100-13256/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:56.042 13100-13248/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:56.079 13100-13246/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:56.097 13100-13245/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:56.112 13100-13256/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:56.133 13100-13248/com.project.one W/Bitmap: Called getConfig() on a recycle()'d bitmap! This is undefined behavior!
07-06 11:02:56.289 13100-13105/com.project.one E/art: Unexpected time out during dump checkpoint.
07-06 11:02:56.289 13100-13105/com.project.one A/art: art/runtime/barrier.cc:90] Check failed: count_ == 0 (count_=-1, 0=0) Attempted to destroy barrier with non zero count
07-06 11:02:56.289 13100-13105/com.project.one A/art: art/runtime/runtime.cc:366] Runtime aborting --- recursively, so no thread-specific detail!
07-06 11:02:56.289 13100-13105/com.project.one A/art: art/runtime/runtime.cc:366] 
                                                                     
                                                                     --------- beginning of crash
07-06 11:02:56.469 13100-13105/com.project.one W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
07-06 11:02:56.469 13100-13105/com.project.one W/google-breakpad: Chrome build fingerprint:
07-06 11:02:56.469 13100-13105/com.project.one W/google-breakpad: 1.0
07-06 11:02:56.469 13100-13105/com.project.one W/google-breakpad: 1
07-06 11:02:56.469 13100-13105/com.project.one W/google-breakpad: 7d26c012-4f20-450a-b207-c04dc7980276
07-06 11:02:56.469 13100-13105/com.project.one W/google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
07-06 11:02:56.469 13100-13105/com.project.one A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 13105 (Jit thread pool)
Добавлено через 22 секунды
Паблито, Вот внизу скинул лог
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,603
Завершенные тесты: 1
06.07.2016, 11:05     Вылетает при прокрутке #4
я уверен - это не весь лог и не в момент вылета
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
06.07.2016, 11:08  [ТС]     Вылетает при прокрутке #5
Вот прикрепил файлом лог.

new 4.zip
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,603
Завершенные тесты: 1
06.07.2016, 11:12     Вылетает при прокрутке #6
я бы использовал RecyclerView вместо ListView
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
06.07.2016, 11:14  [ТС]     Вылетает при прокрутке #7
Я его и использую

XML
1
2
3
4
5
6
7
    <android.support.v7.widget.RecyclerView
        android:id="@+id/list"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:background="@color/divider_grey"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="vertical" />
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,603
Завершенные тесты: 1
06.07.2016, 11:17     Вылетает при прокрутке #8
Цитата Сообщение от Shamsik Посмотреть сообщение
У меня в ListView
Цитата Сообщение от Shamsik Посмотреть сообщение
Я его и использую
а где весь код адаптера?
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
06.07.2016, 11:20  [ТС]     Вылетает при прокрутке #9
//Adapter
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
public class ListAdapter extends RecyclerView.Adapter<NListView>
{
    private List<ListModel> feedItemList;
    private Context mContext;
 
    public ListAdapter (Context mContext, List<ListModel> feedItemList)
    {
        this.feedItemList = feedItemList;
        this.mContext = mContext;
    }
 
    @Override
    public NListView onCreateViewHolder(ViewGroup parent, int viewType)
    {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.custom_list, null);
        NListView viewHolder = new NListView(view);
 
        return viewHolder;
    }
 
    @Override
    public void onBindViewHolder(NListView holder, int position)
    {
        ListModel feedItem = feedItemList.get(position);
 
        holder.textName.setText(feedItem.getTitle());
    }
 
    @Override
    public int getItemCount()
    {
        return (null != feedItemList ? feedItemList.size() : 0);
    }
}
//ViewHolder
Java
1
2
3
4
5
6
7
8
9
10
public class NListView extends RecyclerView.ViewHolder
{
    public  TextView textName ;
    public NListView (View view)
    {
        super(view);
 
        this.textName = (TextView) view.findViewById(R.id.title);
    }
}
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,603
Завершенные тесты: 1
06.07.2016, 11:25     Вылетает при прокрутке #10
1. холдер должен быть статическим классом внутри адаптера!

2. ItemList - откуда Loader знает про этот лист?

надо клещами вытягивать весь код потому что ТЫ решаешь что важно и что стоит показать чувакам с форума, а что не стоит показывать так как ты уверен что это не важно и они там сами разберутся?
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
06.07.2016, 11:32  [ТС]     Вылетает при прокрутке #11
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
//Main
private List<ListModel> ItemList = new ArrayList<ListModel>();
 
//ListModel.java
public class ListModel
{
    private String title;
 
 
    public ListModel(String title)
    {
        this.title     =   title;
    }
 
    public String getTitle()
    {
        return news_title;
    }
 
    public void setTitle(String title)
    {
        this.title = title;
    }
 
}
Добавлено через 1 минуту
Java
1
2
3
4
5
6
7
8
//Main
private ListAdapter adapter;
 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
      
          adapter = new ListAdapter(getActivity(), ItemList);
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2016, 11:37     Вылетает при прокрутке
Еще ссылки по теме:

При прокрутке listview изображения подгружаются, но происходит "скачок" списка - Программирование Android
Здравствуйте. Использую listview и item с текстом и изображениями. При прокрутке listview изображения подгружаются, но происходит...

Вылетает при создании потока - Программирование Android
При выключенном Bluetooth, запуская приложение у меня включается блютуз, но выдаёт ошибку создания потока: 02-15 13:31:26.111...

Вылетает приложение при обращении к серверу - Программирование Android
Обращаюсь к серверу для получения списка продуктов. Сервер проверил, JSON ответ в порядке, на IOS работает без проблем. В случае с андроид...

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


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

Или воспользуйтесь поиском по форуму:
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,603
Завершенные тесты: 1
06.07.2016, 11:37     Вылетает при прокрутке #12
холдер надо сделать статическим внутри адаптера - с этого надо начать
все равно куски кода...какой же тяжелый случай...все, передаю тему толерантным людят
Yandex
Объявления
06.07.2016, 11:37     Вылетает при прокрутке
Ответ Создать тему
Опции темы

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