我有3个复选框和文本视图,我想跟踪检查了多少复选框,并在单击按钮的textView中显示最终结果。我怎么能这样做?
答案 0 :(得分:0)
假设您有一个父LinearLayout,它有三个复选框。
创建LinearLayout的参考。
LineaLayout linearLayout = (LinearLayout) findVIewById(R.id.lv);
然后,CheckBox声明你必须遍历linearlayout的ChildViews。
类似的东西,
for (int i = 0; i < linearLayout.getChildCount(); i++) {
View v = linearLayout.getChildAt(i);
if (v instanceof CheckBox) {
if (((CheckBox) v).isChecked())
// Check Checkbox
else
// Unchecked Checkbox
}
}
答案 1 :(得分:0)
要确定是否已选中var path = System.Web.VirtualPath.Create("/ABC/filename.aspx");
string key = System.Web.Compilation.BuildManager.GetCacheKeyFromVirtualPathInternal(path);
,您可以致电CheckBox
。要设置myCheckbox.isChecked()
的值,您可以调用TextView
。要在按下myTextView.setText()
时执行某些操作,您可以使用Button
添加View.OnClickListener
。
这意味着你可以创建一个这样的程序:
myButton.setOnClickListener()
答案 2 :(得分:0)
最好的方法是使用listview:
首先创建一个ListView并创建一个自定义适配器,每个行都有一个复选框。
在适配器中有一个Set<Integer> indexes = new HashSet<Integer>()
在getView()方法中:getView(int position,View convertView,ViewGroup parent)
为复选框分配点击侦听器:
checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked)
{
if(isChecked){
indexes.add(position);
}else{
indexes.remove(position);
}
}
}
);
最后只需访问该集合,您将获得设置的长度,即所选复选框的数量,这些值代表所选复选框的位置。