在Android中管理片段内的内容

时间:2014-08-21 15:38:38

标签: android android-fragments android-tabs

我有一个应用程序,它包含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();

1 个答案:

答案 0 :(得分:1)

如果您使用的是Shared Preferences,那么您可以在左侧片段中创建一个OnSharedPreferenceChangeListener来监听更改日期并相应地更新其视图。