小编Nie*_*ril的帖子

Android:PreferenceFragment仅显示首选项

PreferenceFragment在Android中加载时遇到问题。在这一点上,这是一个非常基本的实现,我想稍后在其工作时进行扩展。

问题在于,导航到后,仅显示第一个首选项SettingsFragment

我没有收到任何错误,但是logcat向我显示了这个:

W/PathParser: Points are too far apart 4.000000596046461

我用谷歌搜索,但是没有任何有用的解决方案。

代码如下:

MainActivity通过NavigationDrawer导航

navigate() 是使用 FragmentManager

case R.id.nav_settings:
    navigate(new SettingsFragment(), "settingsFragment", false);
    break;
Run Code Online (Sandbox Code Playgroud)

设置片段

public class SettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener {
    public SettingsFragment() { }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
    }

    @Override
    public void onResume() {
        super.onResume();
        getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
    }

    @Override
    public void onPause() {
        super.onPause();
        getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
    }

    @Override
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) { }
}
Run Code Online (Sandbox Code Playgroud)

prefences.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen …
Run Code Online (Sandbox Code Playgroud)

android android-preferences sharedpreferences preferencescreen preferencefragment

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