安卓编程:复选框(CheckBox)的简单使用方法案例

CheckBox和Button一样,是一种古老的控件,它的优点在于,不用用户去填写具体的信息,只需轻轻点击。

CheckBox的应用范围也很广泛,比如常见的爱好选择。

简单的CheckBox的应用案例:

1.调用setOnCheckedChangeListener()方法,并把CompoundButton.OnCheckedChangeListener实例作为参数传入

2.在CompoundButton.OnCheckedChangeListener的onCheckedChanged()方法里,取得被选中Android复选框的实例


效果图:

安卓编程:复选框(CheckBox)的简单使用方法案例_第1张图片


页面布局:




    

    

    
        
        
        
        
    
    

java代码:

package example.administrator.com.test1222application;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private CheckBox ckOK;
    private LinearLayout Linear;
    private Button btn_sub;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ckOK= (CheckBox) findViewById(R.id.tongyi);
        Linear= (LinearLayout) findViewById(R.id.Linear);
        btn_sub= (Button) findViewById(R.id.btn_sub);

        ckOK.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked){
                    ckOK.setText("已同意");
                    /*ckOK.setEnabled(false);*/
                }else{
                    ckOK.setText("同意");
                }
            }
        });

        btn_sub.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                StringBuffer sb=new StringBuffer();
                //拿到所有的子类长度
                int cNum = Linear.getChildCount();
                for (int i = 0; i < cNum; i++) {
                    //根据i 拿到每一个CheckBox
                    CheckBox cb= (CheckBox) Linear.getChildAt(i);
                    //判断CheckBox是否被选中
                    if(cb.isChecked()){
                        //把被选中的文字添加到StringBuffer中
                        sb.append(cb.getText().toString());
                    }
                }
                Toast.makeText(MainActivity.this, sb.toString(), Toast.LENGTH_SHORT).show();
            }
        });
    }

}

当点击“同意”时,监听到选中事件,改变CheckBox的文本。

当选中一些CheckBox后,点击“提交”按钮,Toast出被选中按钮的所有文本

运行效果:

选中“同意”

安卓编程:复选框(CheckBox)的简单使用方法案例_第2张图片

点击“提交”

安卓编程:复选框(CheckBox)的简单使用方法案例_第3张图片


注意:

CheckBox有一个属性可以让他被选中后就不可以改变选项了

setEnabled(false)属性,当他为false时,CheckBox就不可以被改变了

运行效果:





你可能感兴趣的:(安卓)