2016-09-15 5 views
0

(それが一意である必要があります提供)アンドロイドの複数のチェックボックスグループのIDと値を取得する方法は?

例Iは、複数のチェックボックスグループを持っていると私はいくつかの配列リストでチェックチェックボックス(複数可)の値とIDを格納したい: - ユニークな設定方​​法を

screenshot with multiple checkbox group を各チェックボックスグループに値などのチェックボックス

にこれらは、チェックボックス型の私のArrayListの各チェックボックスグループワットの値を取得する方法

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(); 
       }  

ですi番目のID おかげ

PS: - 私の悪い英語

答えて

0

checkBox.setId代わり checkBox.setId(Integer.parseInt(tagValueBeanList.get(J)以降.getvalueの(J)()のtoStringのため申し訳ありません。 ())));あなたは見つけることができます。

関連する問題