如何在偏好性中创建偏好屏



考虑以下活动:

公共类设置扩展偏好性{    @Override    受保护的void ongreate(捆绑savedinstancestate({        super.oncreate(savedinstancestate(;        首选项屏幕=                 getPreferenceManager(( .createPreferencesCreen(this(;    }} 

Android Studio显示了通话getPreferenceManager()的警告:

'getPreferenceManager(('已弃用

此检查报告在指定检查范围中使用弃用代码的位置。

但是,它没有描述我应该采取的纠正措施来避免警告。我找不到获得PreferenceManager参考的任何替代方法,我看不到创建PreferenceScreen的其他方法。

我的目标是通过偏好和默认值编程填充PreferenceActivity,因为这些值是在运行时生成的,并且不能包含在xml/preferences.xml中。

尽管getPreferenceManager()SettingsActivity中不建议使用,但在PreferenceFragment中未弃用它。因此,创建PreferenceScreen的正确方法如下:

public class SettingsActivity extends PreferenceActivity {
    public static class SettingsFragment extends PreferenceFragment {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            PreferenceScreen screen =
                    getPreferenceManager().createPreferenceScreen(getActivity());
        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getFragmentManager()
                .beginTransaction()
                .replace(android.R.id.content, new SettingsFragment())
                .commit();
    }
}

最新更新