Ожидание перед добавлением списочных элементов в listView - PullRequest
0 голосов
/ 19 сентября 2018

Я делаю свой список обновлений каждый раз, когда кто-то прокручивает вверх, но я хотел, чтобы он добавлял 20 элементов одновременно.Поскольку я добавляю элементы сверху, он всегда предполагает это и добавляет все данные за один раз.

Можно ли подождать, пока снова не выполнится код или пока не завершится smoothScrollToPosition ().

Спасибо

 listMensages.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {

            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
                Log.d(TAG, "onScroll: " +view.getLastVisiblePosition() +" "+ listMensages.getCount());
                    if(view.getFirstVisiblePosition() == 0 && listMensages.getCount()>=19*(k+1)-visibleItemCount && k<numberLists){
                        k++;

                        adapter.appendMessages(messagesList.subList(messagesList.size()-20*(k+1),messagesList.size()-21-((k-1)*20)));
                        listMensages.smoothScrollToPosition(19);
                        adapter.notifyDataSetChanged();



                        //loaded=true;
                    }
                    if(view.getFirstVisiblePosition() == 0 && listMensages.getCount()>=19-visibleItemCount && k==numberLists-1){
                        k++;
                        adapter.appendMessages(messagesList.subList(messagesList.indexOf(messagesList.get(0)),messagesList.size()-21-((k-1)*20)));
                        adapter.notifyDataSetChanged();
                        listMensages.smoothScrollToPosition(19);
                    }

            }
        });
...