2018+ अपडेट
आज, findPreference
विधि समाप्त हो गई है। तो, इसे प्राप्त करने के लिए, onPreferenceTreeClick
अपने वरीयता अंश में विधि को ओवरराइड करें । उदाहरण के लिए:
public class MySettingsFragment extends PreferenceFragment {
@Override
public boolean onPreferenceTreeClick (PreferenceScreen preferenceScreen,
Preference preference)
{
String key = preference.getKey();
if(key.equals("someKey")){
// do your work
return true;
}
return false;
}
}
इसके अलावा, यदि आपको विशेष प्राथमिकता तत्व (जैसे ListPreference
) के अंदर एक क्लिक को संभालने की आवश्यकता है, तो आपको setOnPreferenceChangeListener
अंदर की onCreate
विधि को पंजीकृत करना चाहिए MySettingsFragment
:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);
// register listener
final Preference prefList = findPreference("key");
prefList.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object value) {
System.out.println("Selected: " + value);
return true;
}
});
}
onPostCreate
अभ्यस्त काम में क्योंकि यह बहुत जल्दी है (Nullpointer- अपवाद)। किसी भी मदद की सराहना की है