如何保存单选按钮状态 [英] how to save radio button state

查看:127
本文介绍了如何保存单选按钮状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在android应用程序上工作,在其中我打开自己的自定义对话框,并且当我选择单选按钮时我使用单选按钮无疑会选择并工作,但是当我再次打开对话框时,所有单选按钮都取消了我想保存状态上一个按钮

am working on android application in which i open own custom dialog box and i use radio button in when i select radio button no doubt it selected and work but when i again open dialog box all radio button deselected i want to save the state of previous button

enter code here
 private void DiscountDialog() {
    final Dialog dialog = new Dialog(MainActivity.this);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.burstinterval);
    dialog.setTitle("Timer");
    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

    final RadioButton no = (RadioButton) dialog.findViewById(R.id.no);

    final RadioButton first = (RadioButton) dialog.findViewById(R.id.first);

    final RadioButton second = (RadioButton) dialog.findViewById(R.id.second);

    final RadioButton third = (RadioButton) dialog.findViewById(R.id.third);

    dialog.findViewById(R.id.no).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            timer.setImageResource(R.drawable.t1);
            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
            SharedPreferences.Editor edit = sharedPreferences.edit();
            edit.putBoolean("no", no.isChecked());
            edit.putString("my_preference_timer", "no_timer");
            edit.commit();
            dialog.dismiss();
        }
    });
    dialog.findViewById(R.id.first).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            timer.setImageResource(R.drawable.t2);
            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
            SharedPreferences.Editor edit = sharedPreferences.edit();
            edit.putBoolean("first", first.isChecked());
            edit.putString("my_preference_timer", "2");
            edit.commit();
            dialog.dismiss();
        }
    });
    dialog.findViewById(R.id.second).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            timer.setImageResource(R.drawable.t5);
            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
            SharedPreferences.Editor edit = sharedPreferences.edit();
            edit.putBoolean("second", second.isChecked());
            edit.putString("my_preference_timer", "5");
            edit.commit();
            dialog.dismiss();
        }
    });
    dialog.findViewById(R.id.third).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            timer.setImageResource(R.drawable.t10);
            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
            SharedPreferences.Editor edit = sharedPreferences.edit();
            edit.putBoolean("third", third.isChecked());
            edit.putString("my_preference_timer", "10");
            edit.commit();
            dialog.dismiss();
        }
    });

    dialog.show();
}

添加答案后

enter code here



     private void DiscountDialog() {
    final Dialog dialog = new Dialog(MainActivity.this);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.burstinterval);
    dialog.setTitle("Timer");
    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

    final RadioButton no = (RadioButton) dialog.findViewById(R.id.no);


    final RadioButton first = (RadioButton) dialog.findViewById(R.id.first);


    final RadioButton second = (RadioButton) dialog.findViewById(R.id.second);



   // third.setChecked(sharedPreferences.getBoolean("third", false));
    final RadioButton third = (RadioButton) dialog.findViewById(R.id.third);


    dialog.findViewById(R.id.no).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            timer.setImageResource(R.drawable.t1);
            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
            SharedPreferences.Editor edit = sharedPreferences.edit();
            edit.putBoolean("no", no.isChecked());
            edit.putString("my_preference_timer", "no_timer");
            edit.commit();
            dialog.dismiss();
        }
    });
    dialog.findViewById(R.id.first).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            timer.setImageResource(R.drawable.t2);
            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
            SharedPreferences.Editor edit = sharedPreferences.edit();
            edit.putBoolean("first", first.isChecked());
            edit.putString("my_preference_timer", "2");
            edit.commit();
            dialog.dismiss();
        }
    });
    dialog.findViewById(R.id.second).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            timer.setImageResource(R.drawable.t5);
            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
            SharedPreferences.Editor edit = sharedPreferences.edit();
            edit.putBoolean("second", second.isChecked());
            edit.putString("my_preference_timer", "5");
            edit.commit();
            dialog.dismiss();
        }
    });
    dialog.findViewById(R.id.third).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            timer.setImageResource(R.drawable.t10);
            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
            SharedPreferences.Editor edit = sharedPreferences.edit();
            edit.putBoolean("third", third.isChecked());
            edit.putString("my_preference_timer", "10");
            edit.commit();
            dialog.dismiss();
        }
    });

    dialog.show();
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
    no.setChecked(sharedPreferences.getBoolean("no", false));
    first.setChecked(sharedPreferences.getBoolean("first", false));
    second.setChecked(sharedPreferences.getBoolean("second", false));
    third.setChecked(sharedPreferences.getBoolean("third", false));

}

推荐答案

添加此

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
no.setChecked(sharedPreferences.getBoolean("no", false));
first.setChecked(sharedPreferences.getBoolean("first", false));
second.setChecked(sharedPreferences.getBoolean("second", false));
third.setChecked(sharedPreferences.getBoolean("third", false));

之后

dialog.show();

这篇关于如何保存单选按钮状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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