Android Studio初学笔记-Day11-Checkbox

Checkbox(可复选按钮)

Checkbox是可复选按钮,不同於前一章的RadioButton,用起来比较直接,选甚麽就是甚麽也不用分群,比较常见的例子像是点餐或者问卷调查都有它的身影。今天也透过一个点餐的例子来带大家了解Checkbox简单的用法。
首先拉出一个点餐的介面,填上菜单内容、执行点餐的按钮和显示点单的内容。

介面

https://ithelp.ithome.com.tw/upload/images/20210907/20139136cSTIrE8Fva.png

来到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中。

成果

https://ithelp.ithome.com.tw/upload/images/20210907/20139136Yk94tOCz4x.png
Checkbox就讲到这里,谢谢大家。/images/emoticon/emoticon41.gif


<<:  Day26 javascript 表单验证

>>:  Day 11 Generics Part 1

GCP loadbalance(一)

GCP loadbalance (tcp, udp) Cloud Load Balancing是什麽...

D4 - 加盐不加价 严格模式开启

前言 JavaScript 相较是个自由的语言,在学习语法时会发现,咦 明明规则是这样,怎麽那样也可...

理解React的setState到底是同步还是非同步(下)

在上个月初的时候,偶然在IThelp看到这篇讨论 setState後画面没有立即Render,决定趁...

如何在图片和按钮上设定圆形 - 最终章

透过设定 view 的 layer.cornerRadius,我们可以为原本方方正正的 view 增...

【Day28】2次收敛除法器实作

接下来探讨一种透过牛顿法来找到相除解的方法 收敛除法 Step1 : 规格化 N 和 D,令 D 趋...