2013-07-01 2 views
0

Можно ли удалить один фрагмент в позиции из ViewPager, не вызывая перерисовки всего ViewPager, т. Е. Уничтожить только один фрагмент, не уничтожая другие в ViewPager? Используя код примера на этой странице: FragmentStatePagerAdapter, вызвав notifyDataSetChanged() после уменьшения NUM_ITEMS, приводит к тому, что все фрагменты будут уничтожены и нарисованы заново, кроме последнего из-за переопределения getItemPosition() до return POSITION_NONE. Как этого можно избежать?Удалить только один фрагмент из ViewPager

+0

Вы можете быть более ясными? что прекращается с добавлением дополнительных фрагментов во время выполнения на просмотрщик? – Amrut

+0

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

ответ

0

Использовать активность фрагмента из банки поддержки и используя API getFragmentManager, вручную добавить фрагменты удаления во время выполнения. Только проблема здесь, вам придется отслеживать каждую из ссылок на фрагменты.

+0

Можете ли вы предоставить пример кода о том, как это сделать в другом ответе. Я новичок в Fragments и ViewPager. Пример кода был бы весьма полезен. Благодаря! –

+0

Я использую библиотеку поддержки, я использовал следующий код 'FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); Фрагмент SecondFragment = новый SecondFragment(); fragmentTransaction.add (R.id.pager, фрагмент); fragmentTransaction.commit(); 'in onCreate of FragmentActivity, но это не работает, я не вижу фрагмента в viewPager. Что я делаю не так? –

Смежные вопросы