1

在应用程序之后,我必须保持Spinner所选项目保持不变。项目正在从 sqlite 数据库中使用. 所以请指导我如何实现这一目标。onRestart()onResume()SpinnerArrayAdapter

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);
4

2 回答 2

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);
}
于 2013-03-12T07:34:32.923 回答
0

您可以在 onSaveInstanceState() 中保存微调器的位置,并从 onRestoreInstanceState() 中检索微调器的位置。您可以使用通用全局变量来更新微调器位置。

并在 onResume() 方法中使用此变量。希望它会起作用

核实

于 2013-03-12T08:09:27.953 回答