Android FragmentStatePagerAdapter

Я работаю с FragmentStatePagerAdapter, используя этот пример.

Класс MyAdapter реализован следующим образом:

public static class MyAdapter extends FragmentStatePagerAdapter {
        public MyAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public int getCount() {
            return NUM_ITEMS;
        }

        @Override
        public Fragment getItem(int position) {
            return ArrayListFragment.newInstance(position);
        }
    }

Класс ListFragment включает следующий метод для создания нового экземпляра:

    /**
     * Create a new instance of CountingFragment, providing "num"
     * as an argument.
     */
    static ArrayListFragment newInstance(int num) {
        ArrayListFragment f = new ArrayListFragment();

        // Supply num input as an argument.
        Bundle args = new Bundle();
        args.putInt("num", num);
        f.setArguments(args);

        return f;
    }

Когда я создаю в своей деятельности новый адаптер пейджера состояния фрагмента, getItemкоторый, в свою очередь, вызывает метод newInstanceв классе ListFragment. Это здорово, когда я хочу создать новый фрагмент.

Но мне непонятно, как модифицировать getItem(если вообще нужно) для получения объекта фрагмента когда он уже существуети пользовательских страниц, например, со страницы 2 на страницу 1. Я хочу, чтобы моя активность извлекала этот существующий, ранее созданный фрагмент, чтобы он мог запускать внутренний класс AsyncMethod, который находится в классе фрагмента.

21
задан yprez 10 February 2014 в 10:26
поделиться