Skip to content

Commit

Permalink
显示偏好摘要
Browse files Browse the repository at this point in the history
  • Loading branch information
heyblood committed Jan 27, 2021
1 parent caea551 commit e2bc642
Showing 1 changed file with 22 additions and 1 deletion.
23 changes: 22 additions & 1 deletion app/src/main/java/com/example/quakereport/SettingsActivity.java
@@ -1,7 +1,10 @@
package com.example.quakereport;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;

import androidx.appcompat.app.AppCompatActivity;

Expand All @@ -13,11 +16,29 @@ protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_settings);
}

public static class EarthquakePreferenceFragment extends PreferenceFragment {
public static class EarthquakePreferenceFragment extends PreferenceFragment implements Preference.OnPreferenceChangeListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings_main);

// 在偏好设置中显示偏好的摘要,而无需点击后查看
Preference minMagnitude = findPreference(getString(R.string.settings_min_magnitude_key));
bindPreferenceSummaryToValue(minMagnitude);
}

private void bindPreferenceSummaryToValue(Preference preference) {
preference.setOnPreferenceChangeListener(this);
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(preference.getContext());
String preferenceString = preferences.getString(preference.getKey(), "");
onPreferenceChange(preference, preferenceString);
}

@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String stringValue = newValue.toString();
preference.setSummary(stringValue);
return true;
}
}
}

0 comments on commit e2bc642

Please sign in to comment.