如何获得动态CheckBox Id

时间:2014-10-16 08:02:58

标签: android

我动态创建了复选框。根据需求列表大小,我正在以重复的方式创建新的动态复选框,并且还为此设置了Id。现在我想在其他循环中检查它。

  for(int i=0;i<require.size();i++)
        {
            //From Requirements
            requirement=require.get(i);
            RelativeLayout rl1 = new RelativeLayout(getActivity());
            rl1.setBackgroundResource(R.drawable.listviewdesign);
            l1.setOrientation(LinearLayout.VERTICAL);
            req1 = new CheckBox(getActivity());
            rl1.addView(req1);
            req1.setId(Integer.parseInt(requirement.r_id));
            Log.i("getid",Integer.toString(req1.getId()));
            li.add(Integer.toString(req1.getId()));
        }

在这个循环中我只是检查li和proj_require1值的元素。如果两者相等,那么我想将CheckBox设置为已选中。为此,我在这里写了代码。

for(int i=0;i<li.size();i++)
        {
            //li.get(i);
            req1 = (CheckBox) container.findViewById(i);
            String sr = req1.toString();
            for(int j=0;j<proj_require1.size();j++)
            {
                pr = proj_require1.get(j);
                if(sr.equals(pr.rid))
                {
                    req1.setChecked(!req1.isChecked());
                }
                else
                {
                    req1.setChecked(req1.isChecked());
                }
            }
        }

但我怀疑是在第一个循环中根据require对象的大小创建CheckBox。所以每次在循环中创建CheckBox。但是在第二个循环中我试图访问在第一个循环中创建的复选框。有谁可以帮我解决这个问题?唯一的方法是我可以在第一个循环中创建CheckBox。我想在其他循环中访问它。有可能吗?

0 个答案:

没有答案