Как запрограммировать кнопку для успешной загрузки следующих данных в массив - PullRequest
0 голосов
/ 04 августа 2020

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

Вот код;

        lstData = new ArrayList<>();
        getData();

        ViewPager myrv = (ViewPager) findViewById(R.id.view_page);
        myViewPager = new PageViewAdapter(this, lstData);
        myrv.setAdapter(myViewPager);

        next.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (int_of_inital_chapter - 1 < 0) {
                    Log.d("Newest Data Present","YUH");
                } else {
                    URL = list.get(int_of_inital_chapter - 1).getLink();
                    lstData = new ArrayList<>();
                    getData();
                }

            }
        });

        previous.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if (int_of_inital_chapter + 1 > list.size()) {
                    Log.d("Oldest Chapter Enabled","YUH");
                } else {
                    URL = list.get(int_of_inital_chapter + 1).getLink();
                    lstData = new ArrayList<>();
                    getData();
                }
            }
        });

PageViewAdapter Contructor

 public PageViewAdapter(Context context, List<Page> PageList) {
        this.context = context;
        this.PageList = PageList;
        inflater = LayoutInflater.from(context);
    }

Алгоритм работает так, что при создании действия он автоматически загружает данные, назначенные введенному URL. Что работает. Но я хочу, чтобы кнопки загружали все, что будет следующим или перед URL-адресом в массиве списка. Что мне не хватает?

1 Ответ

0 голосов
/ 05 августа 2020

Попробуйте это:

объявите следующее глобально:

private ViewPager myrv;
private ViewPagerAdapter myViewPager;

и затем инициализируйте их:

myrv = (ViewPager) findViewById(R.id.view_page);
myViewPager = new PageViewAdapter(this, lstData);

, а также поместите следующее в кнопки onClick

myViewPager = new PageViewAdapter(this, lstData); 
myrv.setAdapter(myViewPager);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...