如何使用上次关闭的设置启动应用程序?

how can I start an app with last closed settings?

在我的代码中,有针对国家及其城市的微调器。当我启动应用程序时,Spinners 列表按字母顺序排列。

应用程序将使用上次关闭的设置打开。例如: 如果我们 select France for country and Paris for city from 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) {
     ......

您可以将之前选择的选项存储在SharedPreferences中。当您的应用再次启动时,从 SharedPreferences 加载这些默认值并将它们设置为您的选择器的默认值。

找一个好的教程here

当用户在微调器中选择某些内容时,将位置保存到 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);