gpt4 book ai didi

android - 非 Activity 类中的 SharedPreference

转载 作者:行者123 更新时间:2023-11-29 22:03:53 25 4
gpt4 key购买 nike

我有一个扩展 PreferenceActivity 的类 PreferenceClass。该类的代码如下:

public class Preferenceclass extends PreferenceActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main2);
addPreferencesFromResource(R.layout.preferences);

}}

我还有一个非 Activity 类 Shakelistener,它实现了 SensorListener。该类的代码如下:

    public class Shakelistener implements SensorListener {
public void onSensorChanged(int sensor, float[] values) {
// Some code
}}

我需要能够访问此非 Activity 类中的首选项,但我不确定如何执行此操作。

编辑

这是我用来访问共享首选项的代码:

    String PREF_FILE_NAME = "preferences";

SharedPreferences pref = mContext.getSharedPreferences(PREF_FILE_NAME , Context.MODE_PRIVATE);
String myListPreference = pref.getString("listpref", "default choice");
boolean cb = pref.getBoolean("checkBox", false);
Toast.makeText(mContext, myListPreference+"-"+cb, Toast.LENGTH_LONG).show();

这段代码没有给出任何错误,但它总是将 toast 评估为“默认选择错误”。

在这种情况下我应该使用哪个 PREF_FILE_NAME?

最佳答案

Context 为例在非 Activity 类的构造函数中,并使用它来调用所有此类方法。

像这样:

public class NonActivityClass implements SensorListener{
Context mContext;
public NonActivtiyClass(Context context) {
this.mContext = context;
}
//Rest of your code
}

然后执行此操作以在 Activtiy 的 onCreate() 中创建该类的对象:

NonActivityClass nac = new NonActivityClass(this);

关于android - 非 Activity 类中的 SharedPreference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11298336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com