如何动态添加它们时查看选中的复选框

时间:2014-10-27 07:55:06

标签: java android checkbox

我的XML中包含TextViewCheckBox,现在我将它们添加到Activity中, 我添加了多少取决于有多少问题,但如果选中复选框我想看哪一个,我该怎么做?

for (int i = 0; i< questions.size(); i++) {

    View view1 = View.inflate(Checklist.this, R.layout.question, null);
    TextView myText = (TextView) view1.findViewById(R.id.questiontext);
    checkbox = (CheckBox) view1.findViewById(R.id.checkBox);
    layout.addView(view1);
    myText.setText(questions.get(i).question);

    checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
           //check which checbox is checked
        }
    });

}

这是如何将它们添加到我的视图中。

1 个答案:

答案 0 :(得分:0)

您可以使用setTag在复选框上设置标记:

创建时:

for (int i = 0; i< questions.size(); i++) {

    View view1 = View.inflate(Checklist.this, R.layout.question, null);
    TextView myText = (TextView) view1.findViewById(R.id.questiontext);
    checkbox = (CheckBox) view1.findViewById(R.id.checkBox);
    checkbox.setTag(String.valueOf(i));
    layout.addView(view1);
    myText.setText(questions.get(i).question);

    checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
           //check which checbox is checked
           String tag= (String)buttonView.getTag();
        }
    });
}

这会给你标记(i),表示问题编号。

希望它有所帮助。