如何更改放置在PreferenceFragment中的首选项的摘要

时间:2014-07-08 17:36:35

标签: android fragment settings preferences

我正在开发一款应用,我正在尝试遵循Android指南并使用Android工作室模板。 我有偏好活动的各种麻烦,特别是我无法访问其加载的片段之外的偏好,即我需要修改活动的偏好摘要而不是来自片段,因为尝试修改片段内部是不可能的,因为它是一个静态类,并且为摘要提供新值的方法是非静态的(它是一个获取版本的方法,它使用getPackageManager非静态方法)。 有没有办法来解释这个?

1 个答案:

答案 0 :(得分:0)

您应该能够从片段中访问packageManager。例如:

version = getActivity().getPackageManager().
                getPackageInfo(getActivity().getPackageName(),  0).versionName;

如果你想从活动中做到这一点,你只需要获得对偏好的引用。

首先获得片段中首选项的引用:

Preference myPref;    

public void onCreate(){
    myPref = findPreference("myPref");
}

public Preference getMyPref(){
    return myPref;
}

在活动中你可以做到:

myFragment.getMyPref().setSummary("Preference Summary");

您还可以从片段中调用活动上的方法,并将要更新摘要的首选项传递给它。