【问题标题】:How to add check box counter android eclipse如何添加复选框计数器android eclipse
【发布时间】:2012-03-10 12:10:31
【问题描述】:

我有 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;  
           }
}

【问题讨论】:

  • 你能解释一下你说你“卡住”的意思吗?究竟是什么问题以及目前正在发生什么?
  • @koopaking3 我修改了下面的代码,不是发生的事情是,如果我选择单选按钮 1 并选择一个复选框,它会显示消息“复选框 1、2、3 已选中,但事实并非如此真正的原因是我只选中了一个复选框。我希望能够检查 3,但它不允许我检查 4。
  • 所以卡住的意思是我很困惑或错过了 pubs 选择值计数器

标签: android eclipse radio-button checkbox radio-group


【解决方案1】:

我认为你必须把逻辑放在这样的地方

更新

在 4 上的复选框检查条件是这样的

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

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

【讨论】:

  • 如何在单选框或复选框中比较增量?我每个人都这样做吗?
  • 你取 pubsSelected 值并与之比较
  • 我迷路了....我会做这样的事情吗(count
  • 放松一下,试试这种方式。或者不检查第二个条件
  • 现在正在做...但是,即使我先单击复选框 4,当我单击允许的 3 个复选框的单选按钮值时,它也会限制我...所以我不知道如何这会工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-26
  • 2015-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-12
  • 2014-09-25
相关资源
最近更新 更多