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

时间:2017-12-11 16:08:43

标签: java android android-spinner

在我的代码中,有针对国家及其城市的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) {
     ......

2 个答案:

答案 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);