0

アクティビティで宣言された SharedPreferences フィールドに SAX パーサー クラスからアクセスしようとしています。

getDefaultSharedPreferences(context) を使用してみましたが、SAX パーサーは Activity を拡張しないため、このメソッドの引数として渡すコンテキストを見つけることができませんでした。

このフィールドにアクセスするにはどうすればよいですか?

さて、これができたとしましょう。ここで 2 番目の問題があります。私の SharedPreferences フィールドはアクティビティ (実際には PreferenceActivity を拡張するクラス) で宣言されています。この SharedPreferences フィールドには、チェックボックスの 2 つのリストからのブール値を格納できます。これは、複数選択設定の 2 つのリストを表します。

これらの設定リストのどの値が「真」であるかを知る必要があります。どうやってやるの ?

これが私のコードです:- Pref.java

public class Pref extends PreferenceActivity implements OnSharedPreferenceChangeListener {
static SharedPreferences pref;

public void onCreate(Bundle saveInstanceState) {
    super.onCreate(saveInstanceState);

    pref = getPreferenceManager().getSharedPreferences();
    pref.registerOnSharedPreferenceChangeListener(this);

    int c = pref.getInt("numRun",0);
    c++;
    pref.edit().putInt("numRun",c).commit();
    addPreferencesFromResource(R.xml.prefs);
}

最初に pref にアクセスする必要があると思いますが、その後 2 つの複数選択設定リストがあります。これらのリストから値を取得するには?

4

1 に答える 1

1

このようにしてみてください...

SharedPreferences prefs;

prefs = PreferenceManager.getDefaultSharedPreferences(this);

username = prefs.getString("username","");

password = prefs.getString("password","");
于 2012-06-04T17:07:21.707 に答える