我正在尝试保存微调器选择的状态。因此,如果我在微调器中选择一个选项并进入另一个活动,那么使用微调器返回活动,仍然应该选择该选项。我找到了一些教程但是我尝试过的教程已被弃用。
这是我的微调器:
//language selection list
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.language_list, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// storing string resources into Array
lang_list = getResources().getStringArray(R.array.language_list);
Toast.makeText(getBaseContext(), "You have selected : " + lang_list[index],
Toast.LENGTH_SHORT).show();
choice = spinner.getSelectedItem().toString();
final ImageView country_flag = (ImageView)findViewById(R.id.country);
String s=((TextView)arg1).getText().toString();
if(s.equals("English"))
country_flag.setImageDrawable(getResources().getDrawable(R.drawable.eng_spinner));
if(s.equals("German"))
country_flag.setImageDrawable(getResources().getDrawable(R.drawable.german_spinner));
if(s.equals("French"))
country_flag.setImageDrawable(getResources().getDrawable(R.drawable.french_spinner));
if(s.equals("Spanish"))
country_flag.setImageDrawable(getResources().getDrawable(R.drawable.spanish_spinner));
}
答案 0 :(得分:0)
通过获取微调器当前所选位置的索引,将日期,时间等放入包中,将当前微调器的状态保存在onSaveInstanceState()
上。之后,在onCreate()
上,检查bundle == null
是否为null
,如果不是Spinner.setPosition()
(如果您的活动因恢复原因而无法恢复),则会检索使用键存储在其中的值。最后,使用onCreate()
内的{{1}}手动将值设置为微调器。
http://developer.android.com/training/basics/activity-lifecycle/recreating.html
这应该是一个很好的阅读。