У меня есть 3 фрагмента в FragmentPagerAdapter.Я могу передать данные из первого фрагмента во второй фрагмент с помощью интерфейса.Но не могу передать данные из первого фрагмента в третий фрагмент.
Я пытался использовать общие настройки для передачи данных, но я не хочу уничтожать первый фрагмент, поэтому я помещаю viewPager.setOffscreenPageLimit (2), затем делаютретий фрагмент не может получить общие настройки.
Ниже приведен мой класс с extends FragmentPagerAdapter:
private static int NUM_ITEMS = 3;
private CharSequence[] title = {"Customer Details", "Activation Details", "Confirmation Details"};
public ActivationPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return new Customer_Fragment();
case 1:
return new ActivationDetailsFragment();
case 2:
return new ActivationSummaryFragment();
}
return null;
}
//Return the number of pages
@Override
public int getCount() {
return NUM_ITEMS;
}
//Return the title of page
@Override
public CharSequence getPageTitle(int position){
return title[position];
}
например, я пытаюсь перейти к данным от фрагмента один до фрагмента три, но не удалось с ошибкой Java.lang.ClassCastException: фрагмент не может быть приведен к фрагменту три
Ниже фрагмент первый:
public interface OnCustomerFragmentListener{
void OnCustomerPassData(String data);
}
Ниже находится MainActivity:
@Override
public void OnCustomerPassData(String data) {
String tag = "android:switcher:" + R.id.viewPager_Activation + ":" + 1;
ActivationSummaryFragment f = (ActivationSummaryFragment) getSupportFragmentManager().findFragmentByTag(tag);
f.displayReceivedData(data);
}
Ниже фрагмент третий:
public void displayReceivedData(String message)
{
Log.i(TAG, message);
}
Спасибо.