Java 在android中单击“选择”和“取消选择状态”按钮

Java 在android中单击“选择”和“取消选择状态”按钮,java,android,Java,Android,我正在用android开发/设计一个测验应用程序,这是基于我的测试能力 加载问题和四个答案(备选)按钮的文本视图 btnAnswer1、btnAnswer2、btnAnswer3和btnAnswer4 问题:当我点击btnAnser1作为我的答案时,它应该保持在选中状态,但是如果我怀疑答案,它也应该可以取消选中(正常状态)。最后,如果选择了它,并且我决定在选择BtnasWer1时选择BtnasWer2,那么我立即选择BtnasWer2,在选择BtnasWer2时,BtnasWer1应该被取消选择

我正在用android开发/设计一个测验应用程序,这是基于我的测试能力

加载问题和四个答案(备选)按钮的文本视图

btnAnswer1、btnAnswer2、btnAnswer3和btnAnswer4

问题:当我点击btnAnser1作为我的答案时,它应该保持在选中状态,但是如果我怀疑答案,它也应该可以取消选中(正常状态)。最后,如果选择了它,并且我决定在选择BtnasWer1时选择BtnasWer2,那么我立即选择BtnasWer2,在选择BtnasWer2时,BtnasWer1应该被取消选择(正常)

我希望我的问题很清楚,听起来很简单,但我对android编程还是新手,所以我会感谢你的帮助

谢谢

 optionone = (Button) findViewById(R.id.optionone);
    optionone.setTag(1);
    optionone.setId(i);
    //optionone.setBackgroundColor(Color.parseColor("#F1F1F1"));


    optionone.setBackgroundColor(Color.parseColor("#F1F1F1"));
    optionone.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            v.setSelected(true);
            checkAnswer();
            final int change = (Integer) v.getTag();
            if (change == 1) {
                optionone.setBackgroundColor(Color.parseColor("#B2B2B2"));
                back.setVisibility(View.VISIBLE);
                next.setVisibility(View.VISIBLE);
                v.setTag(0);
            } else {
                optionone.setBackgroundColor(Color.parseColor("#F1F1F1"));
                back.setVisibility(View.GONE);
                next.setVisibility(View.GONE);
                v.setTag(1);

            }

        }
    });

尝试使用切换按钮而不是按钮,或者只是在按钮按下时更改按钮的背景颜色,而不是状态。

我认为您可以在此处使用单选按钮而不是按钮…请共享代码,我们只需创建一个全局布尔值
anyselected
,并使用选择器drawable定义selected和normal状态。。当您单击按钮时,将开关
anyselected
设置为true,并将按钮视图设置为selected=true;。。在执行所有这些操作之前,单击检查
anyselected
是否为true,然后将其他按钮设置为selected false。。我够清醒了吗?请参考链接ans@Mourice对于我的按钮,我希望该按钮保持按下/选中状态,直到单击另一个按钮,然后返回正常状态