OnItemSelectedListener関数を使用してスピナーを作成しました。私は4つの選択肢を含む配列からそれを作りました:
String[] arrayOfString = new String[4];
arrayOfString[0] = "Kiskunfélegyháza HQ [160kbps MP3]";
arrayOfString[1] = "Kiskunfélegyháza MQ [64kbps AAC]";
arrayOfString[2] = "Kiskunmajsa HQ [160kbps MP3]";
arrayOfString[3] = "Kiskunmajsa MQ [64kbps AAC]";
this.items = arrayOfString;
データのロード:
PreferenceManager.setDefaultValues(this, 0x7f040000, false);
final SharedPreferences localSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
this.mWebView_enabled = localSharedPreferences.getBoolean("mWebView_enabled", true);
this.savszelesseg_port = localSharedPreferences.getString("savszelesseg_mentes", "savszelesseg_port");
this.savszelesseg_saved = this.savszelesseg_port;
final Spinner localSpinner = (Spinner)findViewById(R.id.savszelesseg);
ArrayAdapter localArrayAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, this.items);
localArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
localSpinner.setAdapter(localArrayAdapter);
誰かがオプションを選択すると、SharedPreferenciesに保存され、音楽が変更されます。しかし、誰かがアプリを終了してから再度開いたときに、データを取り戻すにはどうすればよいですか?
それをsavszelesseg_mentesとして保存し、savszelesseg_portを保存します。この設定を保存するためのオプションメニューもあります。
localSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
public void onItemSelected(AdapterView parentView, View paramView, int paramInt, long paramLong)
{
if (!savszelesseg_port_modositva)
{
savszelesseg_port = localSharedPreferences.getString("savszelesseg_mentes", "savszelesseg_port");
savszelesseg_port_modositva = true;
}
savszelesseg_beallitas = items[paramInt];
if (savszelesseg_beallitas == "Kiskunfélegyháza HQ [160kbps MP3]")
{
savszelesseg_port = "8500/relay_911";
SharedPreferences.Editor editor = localSharedPreferences.edit();
editor.putString("savszelesseg_mentes", savszelesseg_port);
editor.commit();
}
if (savszelesseg_beallitas == "Kiskunfélegyháza MQ [64kbps AAC]")
{
savszelesseg_port = "8500/relay_mobile_911";
SharedPreferences.Editor editor = localSharedPreferences.edit();
editor.putString("savszelesseg_mentes", savszelesseg_port);
editor.commit();
}
if (savszelesseg_beallitas == "Kiskunmajsa HQ [160kbps MP3]")
{
savszelesseg_port = "8500/relay_882";
SharedPreferences.Editor editor = localSharedPreferences.edit();
editor.putString("savszelesseg_mentes", savszelesseg_port);
editor.commit();
}
if (savszelesseg_beallitas == "Kiskunmajsa MQ [64kbps AAC]")
{
savszelesseg_port = "8500/relay_mobile_882";
SharedPreferences.Editor editor = localSharedPreferences.edit();
editor.putString("savszelesseg_mentes", savszelesseg_port);
editor.commit();
}
if (lejatszas == 1 && savszelesseg_port_modositva)
{
stopPlaying();
startPlaying();
}
if (lejatszas == 0 && savszelesseg_port_modositva == true)
{
startPlaying();
}
}
何も選択されていない場合:
public void onNothingSelected(AdapterView parentView)
{
}