パスワードジェネレータを更新しようとしていますパスワードを保存する機能を追加しましたので、SharedPreferencesを使用しています。保存したパスワードをSetに入れたいのですが、SharedPreferences.EditorのputStringSetメソッドを使ってセットを保存しようとすると、Eclipseはそれを認識しません。私のコードでputStringSetにカーソルを合わせると、利用可能な2つのクイックフィックスは "putString(...)に変更"と "エディタへのキャストを追加"ですが、どちらも役に立ちません。Android SharedPreferences.Editor putStringSetメソッドが利用できません
これは私が持っているものです。
public void save(View v)
{
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
final SharedPreferences.Editor editor = prefs.edit();
savedPasswords = (Set<String>) getSharedPreferences("savedPasswordsList", 0);
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setItems(passwords, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface face, int num)
{
savedPasswords.add(passwords[num]);
editor.putStringSet("savedPasswordsList", savedPasswords);
editor.commit();
refreshSavedPasswordsList();
}
});
dialog.show();
}
バージョン2.1,2.2、または2.3のコードを含めてアップグレードする方法はありませんか?これらのバージョンでサポートされている文字列のリストを格納する他の方法はありますか? –
v3 +コードがGoogleによってオープンソース化されていた場合、あなた自身のバージョンのエディタでコピーを試みることができましたが、Setを直接使用するpre v3システムでは何もできません。あなたができる唯一のことは、パスワードを 'putString(...) 'を使って別々に置くことです。私は個人的にstrPass1、strPass2などのキー名を持つ文字列としてそれらを保存するでしょう。私はSharedPreferencesの 'getAll()'メソッドを使い、返された 'Map'チェックを反復してキー名が ' strPassを作成し、それを使って 'Set 'をビルドします。痛いですが、うまくいくでしょう。 –
Squonk
omg ...だから私はこれを本当に使いたかったのですが、私の電話は2.3.3で、api lev maxは10です。だから私はこれを使用することはできません。なぜ彼らは始めからこのことをしなかったのですか?それはputintとput stringが十分ではないことは非常に直感的です..... –