【发布时间】:2017-10-29 05:18:39
【问题描述】:
我正在创建具有两页 FragmentPagerAdapter 的应用程序。
FragmentPagerAdapter 的类如下所示
public static class AppSectionsPagerAdapter extends FragmentPagerAdapter {
public AppSectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
Fragment fragment;
switch (i) {
case 0: fragment = new CurrentRateFragment(); break;
case 1: fragment = new HistoryFragment(); break;
default: fragment = new CurrentRateFragment(); break;
}
return fragment;
}
@Override
public int getCount() {
return 2;
}
}
我希望第一页上的某些更改(例如更改 Spinner 所选项目)导致第二页上的更改。
据我了解 Fragment 通信 (https://developer.android.com/training/basics/fragments/communicating.html) 并了解 Fragment 只能通过 Activity 进行通信。
对于这种情况,我在第一页类片段中创建了公共接口
public interface CurrencyListener {
public void onCurrencyChanged();
}
并在我的 Activity 中实现它。
现在我可以在我的第一个页面片段的 Activity 中调用 void onCurrencyChanged。
但问题是:
如何在我的 FragmentPagerAdapter 中重新创建第二个页面片段?
【问题讨论】:
标签: android android-fragments fragmentpageradapter