Viewpager с одним списком в один фрагмент

Я использую студию Android. Я пытаюсь использовать пейджер с 3 видами. Я использую один фрагмент с alistview, но с разными адаптерами (получить данные из базы данных). переход между страницами изменит адаптер, но тот же фрагмент. Я делаю это, чтобы избежать трех фрагментов, каждый со своим адаптером данных, который может использовать память телефона (оптимизация памяти).

Вопрос .. как поменять адаптер при смене страницы. Я могу получить событие смены страницы просмотра, но где установить новый адаптер и действительно ли это экономия памяти?

     viewPager = (ViewPager) findViewById(R.id.viewPager);
            viewPager.setAdapter(new usersmanageTabFragmentAdapter(getSupportFragmentManager()));



        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                    public void onPageScrollStateChanged(int state) {
                    }

                    Boolean first = true;

                    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                         if (first && positionOffset == 0 && positionOffsetPixels == 0) {
                            onPageSelected(0);
                            first = false;
                           }
                    }

                    public void onPageSelected(int position) {

                        InitializeSwipemenu();
                        // Check if this is the page you want.
                        Toast.makeText(activity, String.valueOf(position) , Toast.LENGTH_SHORT).show();
                        //       Fragment page = getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.viewPager + ":" + viewPager.getCurrentItem());
                        // Button b= (Button)  page.getView().findViewById(R.id.button3w);
                        // b.setText("ssssssss");


                    }
                });

 private void InitializeSwipemenu() {
        Fragment page = getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.viewPager + ":" + viewPager.getCurrentItem());


        listView = (ListView) findViewById(R.id.userslistview);
          custad = new CustomAdapter(getApplicationContext(), Namet, Father);
        listView.setAdapter(custad);

    }
0
0
22
1

Ответы 1

Я получил ответ из другой ветки Stackoverflow. Настройка data-адаптера должна быть установлена ​​на уровне фрагмента.

Спасибо..

Другие вопросы по теме