2018+ CẬP NHẬT
Hôm nay, findPreferencephương pháp được mô tả. Vì vậy, để đạt được điều này, chỉ cần ghi đè onPreferenceTreeClickphương thức trong phân đoạn Sở thích của bạn. Ví dụ:
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;
}
}
Hơn nữa, nếu bạn cần xử lý một nhấp chuột bên trong phần tử tùy chọn cụ thể (ví dụ ListPreference), bạn nên đăng ký setOnPreferenceChangeListenerbên trong onCreatephương thức của 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;
}
});
}
onPostCreatekhông hoạt động vì còn quá sớm (Nullpointer-Exception). Any help is appreciated