小编Pet*_*njo的帖子

用(API 28)替换不推荐使用的getFragmentManager()方法?

我有一个正在开发的Android应用程序,最小sdk =21。在其中,我使用了一个自定义的PreferenceActivity,该自定义的PreferenceActivity依次调用了PreferenceFragment。但是,在最近更新到API 28之后,我注意到getFragmentManager()方法已被弃用。我浏览了相关的Android开发人员页面,了解到Fragment类已被弃用或类似的东西。为了清楚起见,我的PreferencesActivity类代码如下:

public class PreferencesActivity extends PreferenceActivity{
static int layout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        boolean isDark = PreferenceManager.getDefaultSharedPreferences(this).getBoolean("darkTheme", false);
        if (isDark) setTheme(R.style.AppTheme_Dark_NoActionBar_BlendStatusBar);
        layout = isDark? R.style.AlertDialogCustom_Dark: R.style.AlertDialogCustom;
        super.onCreate(savedInstanceState);
        // TODO: 08/09/2018 Deprecated
        getFragmentManager().beginTransaction().replace(android.R.id.content, new PreferencesFragment()).commit();
}

    public static class PreferencesFragment extends PreferenceFragment {
        // Preferences code here...
    }
Run Code Online (Sandbox Code Playgroud)

android preferenceactivity android-fragments fragmentmanager

5
推荐指数
1
解决办法
4188
查看次数