在我的代码中,有针对国家及其城市的Spinners。当我启动应用程序时,Spinners列表按字母顺序排序。
将使用上次关闭的设置打开应用程序。例如:
如果我们从纺纱厂选择法国为国家和巴黎为城市。
然后,退出应用程序。重新开始。 state_spin
的第一个元素是法国,city_spin
将是巴黎。
我该怎么做感谢..
state_spin = (Spinner) findViewById(R.id.spinner1);
city_spin = (Spinner) findViewById(R.id.spinner2);
new spinner1_countries(context,UrlMain,arrayAdpt_state,state_spin).execute();
//to get state lists from a website
state_spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
final String[] stateList = spinner1_countries.stateList;
new spinner2_city(context, arrayAdpt_state,city_spin).execute(); //to get city lists
}
public void onNothingSelected(AdapterView<?> arg0) { } });
city_spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
......
答案 0 :(得分:7)
您可以将之前选择的选项存储在SharedPreferences
中。当您的应用再次启动时,请从SharedPreferences
加载这些默认值,并将其设置为选择器的默认值。
找一个好的教程here
答案 1 :(得分:2)
当用户在微调器中选择某些内容时,将位置保存到SharedPreferences:
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
...
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("1st_spinner", position);
editor.apply();
}
当你的应用程序启动时,获取一个设置微调器的位置:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
int position = sp.getInt("1st_spinner", 1);
state_spin.setSelection(position);