как показать настройку с помощью preferenceFragment в DrawerLayout в Android?

Я использую DrawerLayout включая 4 страницы. Я хочу создать setting страницу для своего приложения. Это MainActivity.class для инициализации DrawerLayout:

public void selectDrawerItem(MenuItem menuItem) {
    // Create a new fragment and specify the fragment to show based on nav item clicked
    android.support.v4.app.Fragment fragment = new android.support.v4.app.Fragment;
    Class fragmentClass;
    switch(menuItem.getItemId()) {
        case R.id.nav_item_home:
            fragmentClass = HomeFragment.class;
            break;

        case R.id.nav_item_setting:
            fragmentClass = SettingFragment.class;
            break;

        case R.id.nav_item_help:
            fragmentClass = HelpFragment.class;
            break;

        case R.id.nav_item_about:
            fragmentClass =AboutFragment.class;
            break;

        default:
            fragmentClass = HomeFragment.class;
            break;
    } try {
        fragment = (android.support.v4.app.Fragment) fragmentClass.newInstance();
    } catch (Exception e) {
        e.printStackTrace();
    }

Это SettingFragment.class:

   import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.support.v4.app.Fragment;


public class SettingFragment extends PreferenceFragment {

public SettingFragment(){

}

@Override
public void onCreate(Bundle bundle){
    super.onCreate(bundle);
    addPreferencesFromResource(R.xml.fragment_settings);

}

}

Но когда я запускаю и нажимаю на настройку в макете ящика, на странице настроек ничего не отображается.

источник

Итак, как я могу это решить?


person Mina Dahesh    schedule 22.12.2016    source источник
comment
Я заметил, что вы используете фрагмент support.v4, и вы не можете смешивать PreferenceFragment - см. error" title="не могу заставить фрагмент предпочтений работать, ошибка компиляции"> stackoverflow.com/questions/15078029/   -  person RoundSparrow hilltx    schedule 16.04.2017