2018+ CẬP NHẬT
Hôm nay, findPreference
phương pháp được mô tả. Vì vậy, để đạt được điều này, chỉ cần ghi đè onPreferenceTreeClick
phươ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ý setOnPreferenceChangeListener
bên trong onCreate
phươ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;
}
});
}
onPostCreate
không hoạt động vì còn quá sớm (Nullpointer-Exception). Any help is appreciated