单选按钮和微调共享preferences? [英] radiobuttons and spinners in shared preferences?

查看:97
本文介绍了单选按钮和微调共享preferences?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个单选按钮的性别在RadioGroup中

  

1)男

     

2)女性

我想将其存储在共享preferences和检索它,当我再次打开它。

还有我想保存微调共享preferences我怎么能保存它。

解决方案

  //尝试这种方式,希望这将有助于你...

activity_main.xml

< LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_height =match_parent
    机器人:layout_width =match_parent>

   < RadioGroup中
       机器人:ID =@ + ID / rdgGender
       机器人:layout_width =WRAP_CONTENT
       机器人:layout_height =WRAP_CONTENT>

       <单选按钮
           机器人:ID =@ + ID / rdbMale
           机器人:layout_width =WRAP_CONTENT
           机器人:layout_height =WRAP_CONTENT
           机器人:文本=男/>

       <单选按钮
           机器人:ID =@ + ID / rdbFemale
           机器人:layout_width =WRAP_CONTENT
           机器人:layout_height =WRAP_CONTENT
           机器人:文本=女/>
       < / RadioGroup中>
< / LinearLayout中>

MainActivity.java

公共类MainActivity延伸活动{

    私人RadioGroup中rdgGender;
    私人单选rdbMale;
    私人单选rdbFemale;
    @覆盖
    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);
        rdgGender =(RadioGroup中)findViewById(R.id.rdgGender);
        rdbMale =(单选)findViewById(R.id.rdbMale);
        rdbFemale =(单选)findViewById(R.id.rdbFemale);

        rdgGender.setOnCheckedChangeListener(新RadioGroup.OnCheckedChangeListener(){
            @覆盖
            公共无效onCheckedChanged(RadioGroup中组,诠释checkedId){
                共享preferences共享preferences = getShared preferences(的getString(R.string.app_name),MODE_PRIVATE);
                共享preferences.Editor编辑=共享preferences.edit();
                开关(checkedId){
                    案例R.id.rdbMale:
                        editor.putInt(genderValue,R.id.rdbMale);
                        打破;
                    案例R.id.rdbFemale:
                        editor.putInt(genderValue,R.id.rdbFemale);
                        打破;
                }
                editor.commit();
            }
        });


        共享preferences共享preferences = getShared preferences(的getString(R.string.app_name),MODE_PRIVATE);
        开关(共享preferences.getInt(genderValue,R.id.rdbMale)){
            案例R.id.rdbMale:
                rdbMale.setChecked(真正的);
                打破;
            案例R.id.rdbFemale:
                rdbFemale.setChecked(真正的);
                打破;
        }

    }
}
 

I have two RadioButtons for Gender in RadioGroup

1)Male

2)Female

and I want to store it in sharedpreferences and retrieve it when i open it again.

As well as i want to save spinner in sharedpreferences how can i be able to save it.

解决方案

// Try this way,hope this will help you...

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent">

   <RadioGroup
       android:id="@+id/rdgGender"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content">

       <RadioButton
           android:id="@+id/rdbMale"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Male"/>

       <RadioButton
           android:id="@+id/rdbFemale"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Female"/>
       </RadioGroup>
</LinearLayout>

MainActivity.java

public class MainActivity extends Activity{

    private RadioGroup rdgGender;
    private RadioButton rdbMale;
    private RadioButton rdbFemale;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        rdgGender = (RadioGroup) findViewById(R.id.rdgGender);
        rdbMale = (RadioButton) findViewById(R.id.rdbMale);
        rdbFemale = (RadioButton) findViewById(R.id.rdbFemale);

        rdgGender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                SharedPreferences sharedPreferences = getSharedPreferences(getString(R.string.app_name), MODE_PRIVATE);
                SharedPreferences.Editor editor = sharedPreferences.edit();
                switch (checkedId){
                    case R.id.rdbMale:
                        editor.putInt("genderValue", R.id.rdbMale);
                        break;
                    case R.id.rdbFemale:
                        editor.putInt("genderValue",R.id.rdbFemale);
                        break;
                }
                editor.commit();
            }
        });


        SharedPreferences sharedPreferences = getSharedPreferences(getString(R.string.app_name), MODE_PRIVATE);
        switch (sharedPreferences.getInt("genderValue",R.id.rdbMale)){
            case R.id.rdbMale:
                rdbMale.setChecked(true);
                break;
            case R.id.rdbFemale:
                rdbFemale.setChecked(true);
                break;
        }

    }
}

这篇关于单选按钮和微调共享preferences?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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