我有一个应用程序,它包含3个片段作为基于初始活动的标签。
中间标签有一个保存日期的按钮。这只是一个日期选择器,可将所选日期添加到本地首选项。
设置此日期后,当我滑动到左侧片段标签时,我想看到该日期。
我需要更改/考虑片段生命周期或其他任何内容,以便在中间片段选项卡中更新此值时,我可以立即获取,使用和显示最左侧片段选项卡上的数据。
目前它仅在我关闭应用时才有效。重新创建片段似乎没有获得更新的日期值。我尝试在onCreate,onStart,onResume,instantiateItem等中重新获取数据。
标签代码基于这个简单的官方Google示例项目:https://developer.android.com/samples/SlidingTabsColors/index.html
我还没有包含任何代码,因为可以从示例项目中轻松复制/理解该概念。
ArticleFragment newFragment = new ArticleFragment();
Bundle args = new Bundle();
args.putInt(ArticleFragment.ARG_POSITION, position);
newFragment.setArguments(args);
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack so the user can navigate back
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
// Commit the transaction
transaction.commit();
答案 0 :(得分:1)
如果您使用的是Shared Preferences,那么您可以在左侧片段中创建一个OnSharedPreferenceChangeListener来监听更改日期并相应地更新其视图。