У меня есть макет вкладки с 2 фрагментами, и у меня есть панель инструментов с различными параметрами, относящимися к действию, в котором находится пейджер представления.
Когда я нажимаю на опцию панели инструментов, она очищает данные из БДкоторые используются во фрагменте, а затем должны обновить его, чтобы применить изменения на экране.
Но я не могу найти способ обновить фрагмент из действия.
Вот адаптер фрагмента:
public class FragmentAdapter extends FragmentPagerAdapter
{
private final List<Fragment> lstFragment = new ArrayList<>();
private final List<String> lstTitles = new ArrayList<>();
public FragmentAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
return lstFragment.get(i);
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return lstTitles.get(position);
}
@Override
public int getCount() {
return lstTitles.size();
}
public void AddFragment (Fragment fragment , String title)
{
lstFragment.add(fragment);
lstTitles.add(title);
}
}
Вот как я его называюво фрагментах в основном:
FragAdapter = new FragmentAdapter(getSupportFragmentManager());
((FragmentAdapter) FragAdapter).AddFragment(new FragmentProgramme(),"Programmes");
((FragmentAdapter) FragAdapter).AddFragment(new FragmentPlanning(),"Agenda"); //FRAGMENT I WANT TO REFRESH
mviewpager.setAdapter(FragAdapter);
mtablayout = (TabLayout) findViewById(R.id.main_tabs);
mtablayout.setupWithViewPager(mviewpager);
В основном у меня есть опция на панели инструментов, и я хотел бы сделать что-то вроде этого:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int pos = item.getItemId();
switch (pos)
{
DatabaseAgenda.getInstance(this).dropDB(); //CLEAN DB
// I would like to find a function like this : ((FragmentAdapter) FragAdapter).refresh(FragmentPlanning, "Agenda");
break;
}
return super.onOptionsItemSelected(item);
}
Дело в том, чтобы простоуничтожить фрагмент, потому что все данные должны быть удалены с экрана, а затем воссоздать его, чтобы пользователи могли добавлять новые данные к нему
Надеюсь, это понятно, спасибо за вашу помощь
У меня естьнашел много ответов, но никогда не то, что я действительно искал