Android单选按钮取消选中

Android单选按钮取消选中,第1张

概述该应用程序是一个步进音序器应用程序,具有16个无线电组,每组有8个按钮.除非我使用我创建的清除按钮清除所有放射线组,否则除非一组选择了一个按钮,否则它可以完美地工作.我想要添加的是一些代码,表示当再次选择所选单选按钮时,它会像切换一样关闭.我尝试使用切换,但随后出现了其他问题.下面是两次尝试,但两个都只是阻止我使用按钮 final RadioGroup radioGroup1 = (RadioGr 该应用程序是一个步进音序器应用程序,具有16个无线电组,每组有8个按钮.除非我使用我创建的清除按钮清除所有放射线组,否则除非一组选择了一个按钮,否则它可以完美地工作.我想要添加的是一些代码,表示当再次选择所选单选按钮时,它会像切换一样关闭.我尝试使用切换,但随后出现了其他问题.下面是两次尝试,但两个都只是阻止我使用按钮

final RadioGroup radioGroup1 = (RadioGroup)findVIEwByID(R.ID.RadioGroup1);     Radiobutton D1 = (Radiobutton)findVIEwByID(R.ID.RadiobuttonD1);     button D1 = (button)findVIEwByID(R.ID.RadiobuttonD1);    D1.setonClickListener(new VIEw.OnClickListener() {        @OverrIDe        public voID onClick(VIEw v) {            PdBase.sendfloat("D1",74);            int selectedTypeID = radioGroup1.getCheckedRadiobuttonID();            Radiobutton D1 = (Radiobutton) findVIEwByID(selectedTypeID);            if(D1 != null) // This will be null if none of the radio buttons are selected                   radioGroup1.clearCheck();             PdBase.sendfloat("D1",0);        }    });Radiobutton lC1 = (Radiobutton)findVIEwByID(R.ID.RadiobuttonlowC1);        lC1.setonClickListener(new VIEw.OnClickListener() {            public voID onClick(VIEw v) {                 int selectedTypeID = radioGroup1.getCheckedRadiobuttonID();                Radiobutton lC1 = (Radiobutton) findVIEwByID(R.ID.RadiobuttonlowC1);                if (selectedTypeID == -1){                PdBase.sendfloat("lC1",72);                }                else if (selectedTypeID == R.ID.RadiobuttonlowC1) {                       radioGroup1.clearCheck();                         PdBase.sendfloat("lC1",0);                }            }           });
解决方法 我最近有同样的需求 – 有一个无线电组,通过再次点击它可以取消选择所选项目.我发现使用听众无法实现这一点,但我能够使用自定义的Radiobutton来实现,就像这样……

public class ToggleableRadiobutton extends Radiobutton {    // Implement necessary constructors    @OverrIDe    public voID toggle() {        if(isChecked()) {            if(getParent() instanceof RadioGroup) {                ((RadioGroup)getParent()).clearCheck();            }        } else {            setChecked(true);        }    }}

请注意,按钮按照当前状态以不同方式切换 – 即,在按钮上调用setChecked(true)与在组上调用clearCheck().如果在两种情况下都使用setChecked(),则无法立即重新选择刚取消选择的按钮 – RadioGroup中的逻辑似乎立即取消选择它.

要使用此按钮,只需替换< Radiobutton>标签包含< your.package.ToggleableRadiobutton>在您的布局XML中.

总结

以上是内存溢出为你收集整理的Android单选按钮取消选中全部内容,希望文章能够帮你解决Android单选按钮取消选中所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1123508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存