我的XML中包含TextView
和CheckBox
,现在我将它们添加到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
}
});
}
这是如何将它们添加到我的视图中。
答案 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),表示问题编号。
希望它有所帮助。