gpt4 book ai didi

android - tableLayout 中的复选框 selectAll\DeselectAll

转载 作者:搜寻专家 更新时间:2023-11-01 07:38:35 26 4
gpt4 key购买 nike

我在表格布局中有路线列表。动态创建的 CheckBox 和 TextView。我设置了复选框 ID。

我想做 selectall & deselectAll 。我们如何实现?

我使用编码创建了复选框。然后如何调用此 CheckBox cb = (CheckBox)view.findViewById(R.id.????);

 tl = (TableLayout) findViewById(R.id.dailyDRoute);
ArrayList<SalesRoutes> routeList = getSalesRoute();
for (int i = 0; i < routeList.size(); i++) {
TableRow tr = new TableRow(this);
CheckBox ch = new CheckBox(this);
ch.setHeight(1);
ch.setId(i);
TextView tv2 = new TextView(this);
tr.addView(ch);
tv2.setText(routeList.get(i).getDescription());
tv2.setTextColor(Color.BLACK);

tr.addView(tv2);
tl.addView(tr);
}
}


public void deselectAll(View view){
// CheckBox cb = (CheckBox)view.findViewById(R.id.);

}


public void selectAll(View view){

}

enter image description here

请帮帮我...

提前致谢..

最佳答案

R.id.* 是在构建过程中生成的整数常量。实际上,您需要将一个整数 id 传递给 findViewById(与您在 init block 中将我们设置为 id 的整数相同)。像这样:

for (int i = 0; i < tl.getChildCount(); i++) {
CheckBox cb = (CheckBox)view.findViewById(i);
cb.setChecked(true);
}

但对我来说这不是很可靠,因为在运行时设置的 id 可能不是唯一的,我认为这个循环更好:

for (int i = 0; i < tl.getChildCount(); i++) {
CheckBox cb = (CheckBox)((TableRow)tl.getChildAt(i)).getChildAt(0);
cb.setChecked(true);
}

关于android - tableLayout 中的复选框 selectAll\DeselectAll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7106687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com