使用共享preference保存微调所选项目的价值 [英] save value of spinner selected item using shared preference

查看:317
本文介绍了使用共享preference保存微调所选项目的价值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何保存当前选定的微调值,这样,当我重新打开应用程序中保存的值自动默认选择?

我目前的code:

 公共无效的onCreate(包savedInstanceState){
     super.onCreate(savedInstanceState);
     的setContentView(R.layout.loginpage);


     最后的微调微调=(微调)findViewById(R.id.spinner1);
     ArrayAdapter< CharSequence的>适配器= ArrayAdapter.createFromResource(
         对此,R.array.spinner_array,android.R.layout.simple_spinner_item);
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

     spinner.setAdapter(适配器);



     spinner.setOnItemSelectedListener(新AdapterView.OnItemSelectedListener(){
           @覆盖
           公共无效onItemSelected(适配器视图<>母公司视图中查看,INT位置,长的id){
               共享preferences preFS = preferenceManager.getDefaultShared preferences(getBaseContext());
               共享preferences.Editor prefEditor = prefs.edit();
               prefEditor.putString(savedValue的,spinner.getSelectedItem()的toString());

               。字符串savedValue的= spinner.getSelectedItem()的toString();

               的for(int i = 0; I< 6,我++)
               如果(savedValue.equals(spinner.getItemAtPosition(ⅰ)的ToString()))
               {
                   spinner.setSelection(ⅰ);
                   打破;
               }
           }
           @覆盖
           公共无效onNothingSelected(适配器视图<>母公司){}
    });
 

解决方案

我还以为你要的是,在某些时候,你想显示你保存的值是什么(来自共享preference)在微调的所选项目。为此

设置微调适配器与所有的包括已保存的保护价值,你想显示你保存的值作为selected.Suppose您在适配器6项的默认值

 字符串savedValue的= preferenceManager
                     .getDefaultShared preferences(上下文)
                     .getString(savedValue的,);

的for(int i = 0; I< 6,我++)
如果(savedValue.equals(spinner.getItemAtPosition(ⅰ)的ToString())){
     spinner.setSelection(ⅰ);
     打破;
}
 

要保存微调价值的共享preference做到这一点

 共享preferences preFS;
 preFS = preferenceManager.getDefaultShared preferences(上下文);
 共享preferences.Editor prefEditor = prefs.edit();
 prefEditor.putString(savedValue的,spinner.getSelectedItem()的toString());
 prefEditor.commit();
 

How can I save the current selected spinner value, such that when I reopen the application the saved value is automatically selected by default?

My current code:

 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.loginpage);


     final Spinner spinner = (Spinner) findViewById(R.id.spinner1);
     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
         this, R.array.spinner_array, android.R.layout.simple_spinner_item);
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

     spinner.setAdapter(adapter);



     spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {           
           @Override
           public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
               SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences( getBaseContext());
               SharedPreferences.Editor prefEditor = prefs.edit();
               prefEditor.putString("savedValue",spinner.getSelectedItem().toString());

               String savedValue=spinner.getSelectedItem().toString();

               for(int i=0;i<6;i++)
               if(savedValue.equals(spinner.getItemAtPosition(i).toString()))
               {
                   spinner.setSelection(i);
                   break;
               }
           }
           @Override
           public void onNothingSelected(AdapterView<?> parent){}
    });

解决方案

I thought what you want is-At some point,you want to show your saved value(comes from shared preference) in the spinner as selected item.For this

set spinner adapter with all the default values that includes your saved value.Now you want to show your saved value as selected.Suppose you have 6 items in the adapter

String savedValue=PreferenceManager
                     .getDefaultSharedPreferences(context)
                     .getString("savedValue","");

for(int i=0;i<6;i++)
if(savedValue.equals(spinner.getItemAtPosition(i).toString())){
     spinner.setSelection(i);
     break;
}

To save spinner value at shared preference do this

 SharedPreferences prefs;
 prefs = PreferenceManager.getDefaultSharedPreferences(context);
 SharedPreferences.Editor prefEditor = prefs.edit();
 prefEditor.putString("savedValue",spinner.getSelectedItem().toString());
 prefEditor.commit();

这篇关于使用共享preference保存微调所选项目的价值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆