2017-12-11 12 views
2

내 코드에는 국가와 도시를위한 스피너가 있습니다. 앱을 시작하면 스피너 목록이 사전 순으로 정렬됩니다.마지막으로 닫은 설정으로 앱을 시작하려면 어떻게해야합니까?

응용 프로그램이 마지막으로 닫힌 설정으로 열립니다. 예 : 국가별로 프랑스를 선택하고 스피너에서 도시를 선택합니다. 그런 다음 앱을 종료하십시오. 다시 시작. 첫 번째 요소는 프랑스 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) { 
    ...... 

답변

7

SharedPreferences에 이전에 선택한 옵션을 저장할 수 있습니다. 앱이 다시 시작되면 SharedPreferences에서 기본값을로드하고 선택기의 기본값으로 설정합니다.

가 된 SharedPreferences에 위치를 저장, 멋진 튜토리얼 사용자가 스피너에 뭔가를 선택 here

2

찾기 :

: 앱이 세트 스피너를 위치를 얻기 시작

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