如何在android eclipse中添加复选框计数器

如何在android eclipse中添加复选框计数器,android,eclipse,radio-button,checkbox,radio-group,Android,Eclipse,Radio Button,Checkbox,Radio Group,我有2个单选按钮和4个复选框,我想保持计数。当您选择单选按钮1时,您应该只能选择3个复选框。 下面是我的代码。我试过Newts的逻辑,但计算不正确…救命 RadioButton radio3, radio6; int count=0; int pubsSelected=0; /** Called when the activity is first created. */ @Override public void onCre

我有2个单选按钮和4个复选框,我想保持计数。当您选择单选按钮1时,您应该只能选择3个复选框。 下面是我的代码。我试过Newts的逻辑,但计算不正确…救命

        RadioButton radio3, radio6;
    int count=0;
    int pubsSelected=0;

      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
          radio3 = (RadioButton) findViewById(R.id.radio0);
          radio6 = (RadioButton) findViewById(R.id.radio1);


        //---RadioButton1---
          radio3.setOnClickListener(new RadioGroup.OnClickListener() {
              public void onClick(View v){
                int  pubsSelected = 3;
                int  count=0;

DisplayToast("RadioButton is checked" +" "+ pubsSelected);  }
              });

        //---RadioButton2---
          radio6.setOnClickListener(new RadioGroup.OnClickListener() {
              public void onClick(View v){
                int  pubsSelected = 6;
                int  count=0;

DisplayToast("RadioButton is checked" + " "+ pubsSelected);  }
              });




          //---CheckBox 1---
            CheckBox checkBox = (CheckBox) findViewById(R.id.checkBox1);
            checkBox.setOnClickListener(new View.OnClickListener()
                    {
                public void onClick(View v) {
                    while(count < pubsSelected )    {
                    if (((CheckBox)v).isChecked()) 
                                    count++;
                    DisplayToast("CheckBox is checked" + " " + count);

                }
                }} );
          //---CheckBox 2---
            CheckBox checkBox2 = (CheckBox) findViewById(R.id.checkBox2);
            checkBox2.setOnClickListener(new View.OnClickListener()

            {
                public void onClick(View v) {
                    while(count < pubsSelected) {
                    if (((CheckBox)v).isChecked()) 
                        count++;
                    DisplayToast("CheckBox is checked" + " " + count);

                }
            }}); 
          //---CheckBox 3---

            CheckBox checkBox3 = (CheckBox) findViewById(R.id.checkBox3);
            checkBox3.setOnClickListener(new View.OnClickListener()

            {
                public void onClick(View v) {
                    while(count < pubsSelected) {
                }
                    if (((CheckBox)v).isChecked()) 
                        count++;
                    DisplayToast("CheckBox is checked" + " " + count);

                }
            });
//---CheckBox 4---

            CheckBox checkBox4 = (CheckBox) findViewById(R.id.checkBox4);
            checkBox4.setOnClickListener(new View.OnClickListener()

            {
                public void onClick(View v) {

                    if (pubsSelected==3){



                       DisplayToast( "you have selected" + pubsSelected );

                                        }
                    else{
                        if (pubsSelected==6){

                           DisplayToast(" you have selected" + pubsSelected );
                        }
                }}});
      }
            private int DisplayToast(String msg)
           {
                Toast.makeText(getBaseContext(), msg, 
                        Toast.LENGTH_SHORT).show();
                return count;  
           }
}
RadioButtonRadio3,radio6;
整数计数=0;
int pubsSelected=0;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
radio3=(RadioButton)findViewById(R.id.radio0);
radio6=(RadioButton)findViewById(R.id.radio1);
//---无线电按钮1---
radio3.setOnClickListener(新的RadioGroup.OnClickListener(){
公共void onClick(视图v){
int pubsSelected=3;
整数计数=0;
DisplayToast(“选中了RadioButton”+“”+pubsSelected);}
});
//---无线电按钮2---
radio6.setOnClickListener(新的RadioGroup.OnClickListener(){
公共void onClick(视图v){
int pubsSelected=6;
整数计数=0;
DisplayToast(“选中了RadioButton”+“”+pubsSelected);}
});
//---复选框1---
复选框=(复选框)findViewById(R.id.checkBox1);
checkBox.setOnClickListener(新视图.OnClickListener()
{
公共void onClick(视图v){
while(计数
我认为您必须这样放置逻辑

if(pubsSelected==3)
{
uncheck
} 
else
{
checked
}
更新

在4复选框中选中这样的条件

if(pubsSelected==3)
{
uncheck
} 
else
{
checked
}

这对你来说是另一个简单的逻辑

你能澄清一下你说“卡住”是什么意思吗?问题到底是什么?目前正在发生什么?@koopaking3我修改了下面的代码,没有发生什么是如果我选中radiobutton 1并选中一个复选框,它会显示消息“复选框1、2、3”已选中,但这不是真的,因为我只选中了一个复选框。我想能够勾选3,但它不允许我勾选4。因此,我所说的“卡住”是指我对pubs selected value counter感到困惑或丢失。如何在“收音机”框或复选框中比较增量?我对每个都这样做吗?您获取pubsSelected值并与itam lost进行比较……我是否在(count