私はXamarin、Visual studio 2015でC#を使ってAndroidアプリを開発しています。私は、ユーザーがボタンをクリックしたときに文字列値を入力しなければならないボックスを持っています。この値をスピナーに追加し、次の開いた状態で保存して再ロードして、彼が必要とせずに入力した値を選択できるようにします。それを再入力してください。今まで私は問題はありませんが、私は考えましたが、私が苦労しているのは、ユーザーが値を入力してからボタンをクリックした後、別の値を入力し、最後の値だけを保存してAPPが再オープンされたときのスピナー。私が欲しいのは、ユーザーが入力した各値を保存してスピナーに表示する必要があります。次に、ユーザーが前に入力した値を削除したい場合は、ここで 複数のユーザー入力をスピナーに保存するにはどうすればよいですか?
は、私がこれまで行っているものです:string user;
ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(this);
var items = new List<string>() { "1", "2", "3" };
Button button4 = FindViewById<Button>(Resource.Id.button4);
Spinner spinner = FindViewById<Spinner>(Resource.Id.spinner1);
EditText input = FindViewById<EditText>(Resource.Id.input);
user = input.Text;
button4.Click += delegate
{
user = input.Text;
items.Add(user);
ISharedPreferencesEditor editor = prefs.Edit();
editor.PutString("try", user);
editor.Apply();
};
user = prefs.GetString("try", "no");
items.Add(user);
var adapter3 = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerItem, items);
spinner.Adapter = adapter3;
これらのコードを追加して保存し、ユーザー入力をスピナーに、私はアプリを再度開くときには、ユーザーが2つの値を入力した場合のみ、最後の1が保存されています私が欲しいのは、それぞれの価値が救われることです。スピナーに表示されます。 は
最新の値をprefsに保存するだけです。複数の値を格納する場合は、それらを配列またはリストに格納し、それらをprefsに直列化する必要があります。 – Jason
putStringSetを使用してSharedPrefenceに文字列のコレクションを格納し、次にgetStringSetを使用してスピンを設定します。 – tahsinRupam