天天看點

checkbox應用

checkboxpractice

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:text="選擇最喜歡的詩詞作家:" />

        <CheckBox
            android:id="@+id/li"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="李白" />

        <CheckBox
            android:id="@+id/su"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="蘇東坡" />

        <CheckBox
            android:id="@+id/bai"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="白居易" />


    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:id="@+id/selectall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="全選"/>

        <Button
            android:id="@+id/notselectall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="全不選"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:id="@+id/buttonresult"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="選擇結果:" />

        <TextView
            android:id="@+id/information"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="最終顯示結果"/>
    </LinearLayout>

</LinearLayout>
           

checkboxActivity

package com.example.lenovo.layout03;

import android.annotation.SuppressLint;
import android.graphics.Color;
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.TextView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by lenovo on 2017/12/20.
 */

public class checkboxActicity extends AppCompatActivity {
    private CheckBox li,su,bai;
    private Checkboxlistener checkboxlistener;
    private Button selectall,notselectall,selectresult;
    private onclickListener onclickListener;
    private TextView information;
    private List<String> list;

    protected  void onCreat(Bundle savedInstaceState)
    {
        super.onCreate(savedInstaceState);
        setContentView(R.layout.checkboxpractice);
        initshow();
        setListener();
        initDate();
    }

    private void initDate() {
        list=new ArrayList<String>();
    }

    @SuppressLint("WrongViewCast")
    public void initshow() {
        //初始化對象,獲得控件
        li = (CheckBox) findViewById(R.id.li);
        su = (CheckBox) findViewById(R.id.su);
        bai = (CheckBox) findViewById(R.id.bai);
        selectall = (Button) findViewById(R.id.selectall);
        notselectall = (Button) findViewById(R.id.notselectall);
        information = (Button) findViewById(R.id.information);
    }

    public void setListener()
    {
        checkboxlistener=new Checkboxlistener();//生成監聽器對象
        onclickListener=new onclickListener();
        li.setOnCheckedChangeListener(checkboxlistener);
        su.setOnCheckedChangeListener(checkboxlistener);
        bai.setOnCheckedChangeListener(checkboxlistener);
       selectall.setOnClickListener(onclickListener);
       notselectall.setOnClickListener(onclickListener);
       information.setOnClickListener(onclickListener);

    }
    class Checkboxlistener implements CompoundButton.OnCheckedChangeListener
    {

        @Override
        public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
            CheckBox checkBox=(CheckBox)compoundButton;
            switch (checkBox.getId())
            {
                case R.id.li:
                    if(li.isChecked())
                    {
                        Toast.makeText(checkboxActicity.this,"少玩遊戲",Toast.LENGTH_SHORT).show();
                        li.setTextColor(Color.RED);
                    }
                    else
                    {
                        li.setTextColor(Color.BLACK);
                    }
                    Toast.makeText(checkboxActicity.this,"李清照",Toast.LENGTH_SHORT).show();
                    break;
                case R.id.su:
                    Toast.makeText(checkboxActicity.this,"蘇東坡",Toast.LENGTH_SHORT).show();
                    break;
                case R.id.bai:
                    Toast.makeText(checkboxActicity.this,"白居易",Toast.LENGTH_SHORT).show();
                    break;
            }

        }
    }

    class onclickListener implements View.OnClickListener
    {

        @Override
        public void onClick(View view) {
            switch(view.getId())
            {
                case R.id.selectall:
                    li.setChecked(true);
                    su.setChecked(true);
                    bai.setChecked(true);
                    break;

                case R.id.notselectall:
                    li.setChecked(false);
                    su.setChecked(false);
                    bai.setChecked(false);
                    break;

                case R.id.information:
                    if(li.isChecked())
                {
                    list.add(li.getText().toString());//擷取文字内容
                }
                    if(bai.isChecked())
                    {
                        list.add(bai.getText().toString());//擷取文字内容
                    }
                    if(su.isChecked())
                    {
                        list.add(su.getText().toString());//擷取文字内容
                    }
                    information.setText(list.toString());
                    list.clear();;
                    break;

            }
        }
    }

}