Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo eliminar dinámicamente la página especificada usando FragmentPagerAdapter como ViewPager del adaptador

Cómo eliminar dinámicamente la página especificada usando FragmentPagerAdapter como ViewPager del adaptador

Método 1: ya es posible devolver la posición del fragmento eliminado en la Lista, así que actualice la Lista en el adaptador y elimine el fragmento eliminado. Luego elimine el Fragmento correspondiente en el caché de ViewPager. comenzarTransacción();

// mDeleteCityArry es una matriz que contiene la ubicación del fragmento eliminado

for (int i = 0; i lt. mDeleteCityArry.length; i) {

mFragmentList.remove(mDeleteCityArry[i]);

// Elimina el fragmento de caché correspondiente.

transaction.remove(fragments.get(mDeleteCityArry[i]));

transaction.commit();

//Restablecer la lista en el adaptador

mAdapter.setList(mFragmentList);

mAdapter.notifyDataSetChanged();

}

Método 2: De hecho, lo es. Lo mismo que el Método 1 es similar, pero elimina todos los fragmentos almacenados en caché en ViewPager, luego elimina todo en mFragmentList, reconstruye todos los fragmentos y restablece la lista en el adaptador.

mForecasts = mforecastDao.getAllCity();

forecastSize=mForecasts.size();

Fragmentgt; /p>

FragmentTransaction transaction = fm.beginTransaction();

// Elimina todos los fragmentos almacenados en caché.

for (Fragmento childFragment: fm.getFragments()) {

transaction.remove(childFragment);

transaction.commit();

}

// Recrea todos los fragmentos.

mFragmentList.clear();

for (int i = 0; i lt; ForecastSize; i) {

mFragmentList.add(OutterFragment.newInstance( mForecasts.get(i).getCity());

}

//Restablecer la lista en el adaptador

Adapter.setList(mFragmentList);

p>

Adaptador.