在申请Spinner
或onRestart()
之后,我必须保持onResume()
所选项目保持不变。使用Spinner
从sqlite数据库填充ArrayAdapter
个项目。所以指导我如何实现这一目标。
String myString = (String) myspinner.getSelectedItem();` //the value you want the position for
` @SuppressWarnings("unchecked")
ArrayAdapter<String> myAdap = (ArrayAdapter<String>) myspinner.getAdapter(); //cast to an ArrayAdapter
int spinnerPosition = myAdap.getPosition(myString);
//set the default according to value
myspinner.setSelection(spinnerPosition);
答案 0 :(得分:1)
您必须将最后选择的位置存储到share-Preference or in database
中,当应用重启时,然后将相应的存储位置传递给您的微调器,并在将位置更改为微调器时继续更新SP。
店铺位置:
SharedPreferences SP;
SP = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SP.edit().putInt("last index", spin.getSelectedItemPosition()).commit();
检索并设置为微调器:
SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
if(SP!=null){
int pos = SP.getInt("last index", 0);
spin.setSelection(pos);
}
答案 1 :(得分:0)
您可以在onSaveInstanceState()中保存微调器的位置并返回微调器位置 来自onRestoreInstanceState()。您可以使用公共全局变量来更新微调器 位置。
并在onResume()方法中使用此变量。 希望它能起作用