gpt4 book ai didi

android - 在 PreferencesFragment 中获取 fragment 实例

转载 作者:行者123 更新时间:2023-11-30 01:02:03 25 4
gpt4 key购买 nike

通过我的首选项中的复选框,必须更新 fragment 的 View 。首选项在 PreferenceFragment 中:

public class SettingsFragment extends PreferenceFragment {...}

此 fragment 在 Activity 中实例化,使用:

getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();

我的应用程序有一些其他 fragment ,它们扩展了 android.support.v4.app.Fragment。在首选项中的复选框更改后,我必须更新此 fragment 中的 View :

public class OfferingsFragment extends android.support.v4.app.Fragment {
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
{
// This view needs to be updated
View view = inflater.inflate(R.layout.offering_tiles, null);
...
}
}

我的问题是:如何从 PreferencesFragment 中更新此 View ?显然,我不能使用 getFragmentManager 获取 OfferingsFragment 的实例,因为 OfferingsFragment 是支持库中的一个 fragment 。有没有办法从 PreferenceFragment 中访问 OfferingsFragment?

最佳答案

根据应用的设置方式,您有几个选项。如果两个 fragment 不同时处于 Activity 状态,则 Offerings fragment 可以在创建 View 时仅从 SharedPreferences 中读取值。

如果两个 fragment 都处于 Activity 状态并且需要刷新 View ,您可以使用接口(interface)通过父 Activity 创建回调,example here .或者更简单的方法是使用像 Otto 这样的事件总线或 Green Robot

关于android - 在 PreferencesFragment 中获取 fragment 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39270344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com