2015-11-10 4 views
0

мне нужно установить onPreferenceChangeListener моего фрагмент предпочтения, но я не знаю, как я могу это сделать ... вот мой кодКак добавить слушателя в свой фрагмент предпочтений?

public class PrefsFragment extends PreferenceFragment { 
    Context context; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.xml.preferences); 
     context = this.getActivity(); 
     context.setTheme(R.style.myStyle); 

    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view = super.onCreateView(inflater, container, savedInstanceState); 
     view.setBackgroundColor(0x96000000); 
     return view; 
    } 
} 

ответ

2

Вашего PrefsFragment необходимо реализовать интерфейс OnSharedPreferenceChangeListener, например:

public class PrefsFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener {... 

Вы можете реализовать onSharedPreferenceChanged метод:

@Override 
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) 
{ 
    //do something 
} 

}

Убедитесь, что вы регистрируетесь слушателя тоже:

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

} 

@Override 
public void onPause() { 
    getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this); 
    super.onPause(); 
} 
+0

Спасибо это сработало! :) –

+0

Абсолютно - рад, что это помогло :) –