Checkbox是可复选按钮,不同於前一章的RadioButton,用起来比较直接,选甚麽就是甚麽也不用分群,比较常见的例子像是点餐或者问卷调查都有它的身影。今天也透过一个点餐的例子来带大家了解Checkbox简单的用法。
首先拉出一个点餐的介面,填上菜单内容、执行点餐的按钮和显示点单的内容。
来到MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void order(View v){
CheckBox chk;
String msg ="";
int id[] ={R.id.cb1,R.id.cb2,R.id.cb3,R.id.cb4,R.id.cb5,R.id.cb6};
for(int i:id){
chk =(CheckBox)findViewById(i);
if(chk.isChecked())
msg+="\n"+chk.getText();
}
if(msg.length()>0)
msg="你点购的是"+msg;
else
msg ="请选择餐点!";
TextView tx1 = (TextView)findViewById(R.id.tx1);
tx1.setText(msg);
}
}
这里有个小技巧,如果Checkbox数量很多,可以透过阵列和forloop来完成宣告物件,这可以让程序看起来更简洁,而不用一行又一行的复制。这里我用的forloop格式也不太一样,不是常见的for(;;)格式,不过这个格式我认为对读取阵列数值蛮方便的,这种写法主要运作概念是把我宣告的int型态变数i依序读取成id阵列中的值,这样就可以透过i直接取用id阵列内的id了,最後透过isCheck()函数(回传值为boolean型态)来检视按钮是否被选取,如过有被选取则加入设定好的String中。
Checkbox就讲到这里,谢谢大家。
GCP loadbalance (tcp, udp) Cloud Load Balancing是什麽...
前言 JavaScript 相较是个自由的语言,在学习语法时会发现,咦 明明规则是这样,怎麽那样也可...
在上个月初的时候,偶然在IThelp看到这篇讨论 setState後画面没有立即Render,决定趁...
透过设定 view 的 layer.cornerRadius,我们可以为原本方方正正的 view 增...
接下来探讨一种透过牛顿法来找到相除解的方法 收敛除法 Step1 : 规格化 N 和 D,令 D 趋...