我正在开发一款应用,我正在尝试遵循Android指南并使用Android工作室模板。 我有偏好活动的各种麻烦,特别是我无法访问其加载的片段之外的偏好,即我需要修改活动的偏好摘要而不是来自片段,因为尝试修改片段内部是不可能的,因为它是一个静态类,并且为摘要提供新值的方法是非静态的(它是一个获取版本的方法,它使用getPackageManager非静态方法)。 有没有办法来解释这个?
答案 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");
您还可以从片段中调用活动上的方法,并将要更新摘要的首选项传递给它。