2016-09-15 1 views
0

У меня есть несколько группы флажка и я хочу, чтобы сохранить значение проверяемого флажка (ов) и ID в некотором списке массива (при условии, что должно быть уникальным)Как получить идентификатор и значение нескольких групп флажков в android?

примера: -

screenshot with multiple checkbox group как установить уникальным значение для каждой группы CheckBox и так флажки

это мой ArrayList типа CheckBox

List<CheckBox> checkBoxList = new ArrayList<>(); 
try { 
        dataArrayListcheckbox = new ArrayList<String>(); 

        for (int j = 0; j < tagValueBeanList.size(); j++) { 

         checkBox = new CheckBox(this); 
         checkBox.setText(tagValueBeanList.get(j).getTag().toString()); 
         checkBox.setLayoutParams(spinnerParams); 
         checkBox.setId(Integer.parseInt(tagValueBeanList.get(j).getValue().toString())); 
         checkBox.setTextSize(25); 
         checkBox.setId(participantCount); 
         linearLayout.addView(checkBox); 
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
          checkBox.setButtonTintList(ColorClass.colorStateList()); 
         } 
         final int finalJ = j; 
         checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
          @Override 
          public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
           if (isChecked) { 

            dataTag = buttonView.getText().toString().trim() + " | " + buttonView.getId(); 
            dataArrayListcheckbox.add(dataTag); 
            System.out.println("ID Selected: " + buttonView.getId()); 
            System.out.println("Text Selected: " + buttonView.getText().toString()); 
            checkBoxHashMap.put(buttonView.getId(), buttonView.getText().toString()); 
           } 
           if (!isChecked) { 
            try { 

             checkBoxHashMap.remove(buttonView.getId()); 
             for (int i = 0; dataArrayListcheckbox.size() > i; i++) { 
              System.out.println(buttonView.getText().toString() + ">>>>UUUUcheck" + dataArrayListcheckbox.get(i).toString()); 
              String tageValue = buttonView.getText().toString().trim(); 
              String tagID=String.valueOf(buttonView.getId()).trim(); 
              String arrayTagValue = dataArrayListcheckbox.get(i).toString(); 

              System.out.println(">>>true comatin>"); 

              String res12[] = arrayTagValue.split("\\|"); 
              String tag = "", value = ""; 
              for (int tagCount = 0; res12.length > tagCount; tagCount++) { 
               if (tagCount == 0) { 
                tag = res12[0].toString().trim(); 
               } else { 
                value = res12[1].toString().trim(); 
               } 
              } 

              if (tageValue.equalsIgnoreCase(tag) && tagID.equalsIgnoreCase(value)) { 
               System.out.println(">>>true comatin>" + dataArrayListcheckbox.size()); 
               System.out.println(tageValue + "conatain...." + tag); 
               dataArrayListcheckbox.remove(i); 
               System.out.println(">>>true comatin>" + dataArrayListcheckbox.size()); 

              } 

              for (int count = 0; count < dataArrayListcheckbox.size(); count++) { 
               System.out.println("" + dataArrayListcheckbox.get(count)); 
              } 
             } 
            } catch (Exception e) { 
             e.printStackTrace(); 
            } 
           } 

          } 
         }); 
        } 
       } catch (Exception e) { 
        e.printStackTrace(); 
       }  

как получить значения каждого чекбокса группы ш Ith его ID Благодаря

PS: - Извините за мой плохой английский

ответ

0

checkBox.setId (к) вместо checkBox.setId (Integer.parseInt (tagValueBeanList.get (J) .getValue() ToString.())); то вы можете найти.