在我的项目中,我从服务器获取30个需求。我已将所有内容显示在CheckBox中。所以根据在循环内部创建CheckBox的需求大小。我也为复选框设置ID。再次,我从服务器获取Id,并将相同的Id设置为CheckBoxes。当我尝试获取CheckBox的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()));
}
现在问题是30个CheckBoxes中只有2个CheckBoxes被检查。我已收到来自服务器的5个CheckBoxes标识。我还将2个CheckBoxes Id与上面的CheckBoxes Id进行了比较。这里的问题是第二个CheckBox只设置为true。第一个CheckBox没有设置为真(2个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());
}
}
}
我不tryied理解你的代码,但设置时,你是他们检查创建它们会容易得多。 – Kai 2014-10-17 05:27:33
@ user714965我是根据项目的种类显示需求。是的基于单个项目检索单个需求很容易。但是,如果我有多个项目,那么我必须显示基于项目的要求。所以这个视图生成与复选框必须改变基于不同的项目 – user3663600 2014-10-17 05:49:10