如何从PreferenceFragment获取另一个Activity的值

时间:2016-05-04 07:45:37

标签: android preferences

我需要从PreferenceFragment到SplashActivity获取价值。我该怎么办?

public class SettingsFragment extends PreferenceFragment {

public String cityToLoad;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);

     ListPreference city = (ListPreference) findPreference("city");
    city.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            cityToLoad = newValue.toString();

            return true;
        }
    });

}}

我的preferences.xml只包含ListPreference。

1 个答案:

答案 0 :(得分:0)

您在列表首选项中没有onchange事件。更多http://developer.android.com/reference/android/preference/PreferenceFragment.html

如果你只是使用偏好标签,那么你可以尝试下面的代码。

city.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
    @Override
    public boolean onPreferenceClick(Preference arg0) {

        Intent newScreen = new Intent(getActivity(), SecondActivity.class);
        newScreen.putExtra("Data", data);
        startActivity(newScreen);

        return true;
    }
});