Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 控件:CheckBox

Android 控件:CheckBox

編輯:關於Android編程

\

 

首先,在布局文件中注冊CheckBox

activity_main.xml

 



    

    
    

    


MainActivity.java

 

 

CheckBox 即可以綁定 view.OnClickListener,也可以綁定 CompoundButton.OnCheckedChangeListener.

 

package com.example.litingdong.checkboxtest;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;


public class MainActivity extends ActionBarActivity {

    private CheckBox eatBox;
    private CheckBox sleepBox;
    private CheckBox dotaBox;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        eatBox=(CheckBox)findViewById(R.id.eatID);
        sleepBox=(CheckBox)findViewById(R.id.sleepID);
        dotaBox=(CheckBox)findViewById(R.id.dotaID);
        //OnClickListener
        OnButtonClickListener listener=new OnButtonClickListener();
        listener = new OnButtonClickListener();
        eatBox.setOnClickListener(listener);
        sleepBox.setOnClickListener(listener);
        dotaBox.setOnClickListener(listener);

        //OnCheckedChangedListener
        CheckBoxListener changeListener =new CheckBoxListener();
        eatBox.setOnCheckedChangeListener(changeListener);
        sleepBox.setOnCheckedChangeListener(changeListener);
        dotaBox.setOnCheckedChangeListener(changeListener);
    }
    
    class OnButtonClickListener implements View.OnClickListener{
        @Override
        public void onClick(View v) {
            CheckBox box=(CheckBox)v;

            if (box.getId()==R.id.eatID) {
                System.out.println(eatBox);
            }else if(box.getId()==R.id.sleepID){
                System.out.println(sleepBox);

            }else{
                System.out.println(dotaBox);
            }

            if (box.isChecked()){
                System.out.println(Checked!);
            }else{
                System.out.println(UnChecked!);
            }
        }
    }

    class CheckBoxListener implements CompoundButton.OnCheckedChangeListener{

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (buttonView.getId()==R.id.eatID){
                System.out.println(eatBox);
            }else if (buttonView.getId()==R.id.sleepID){
                System.out.println(sleepBox);
            }else{
                System.out.println(dotaBox);
            }

            if (isChecked){
                System.out.println(Checked!);
            }else{
                System.out.println(UnChecked!);
            }
        }
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

logcat:

 

\

 

 

 

 

 

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved