sas*_*cha 5 android preferences android-fragments
我想在自定义首选项屏幕中显示首选项的值.为此,我需要在首选项片段中获取值,在本例中为字符串.在非片段(活动)中,我使用eg获取值final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);并获取字符串,String phonenumber = prefs.getString("preference_name", null);但在首选项片段getDefaultSharedPreferences中不适用于首选项片段.
不知道怎么解决这个问题?
这是我的代码片段:
public class PreferencesFragment extends PreferenceFragment implements
OnSharedPreferenceChangeListener {
TextView tvusername, tvphonenumber;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
getPreferenceScreen().getSharedPreferences()
.registerOnSharedPreferenceChangeListener(this);
final SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
// entering preference phonenumber in text view
String phonenumber = prefs.getString("phonenumber", null);
;
tvphonenumber.setText(phonenumber);
// entering preference username in text view
String username = prefs.getString("username", null);
;
tvusername.setText(username);
}
Run Code Online (Sandbox Code Playgroud)
Pie*_*rew 11
在您的片段类的onActivityCreated(这是创建活动的时间)中,您可以这样做
Context hostActivity = getActivity();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(hostActivity);
Run Code Online (Sandbox Code Playgroud)
这就是您从附加片段访问hostActivity的方式.
| 归档时间: |
|
| 查看次数: |
9481 次 |
| 最近记录: |