Android复选框(CheckBox)的用法

1、activity_main.xml布局

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

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="爱好:" />
    </LinearLayout>

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

        <CheckBox
            android:id="@+id/sing"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/sing" />

        <CheckBox
            android:id="@+id/film"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/film" />

        <CheckBox
            android:id="@+id/sports"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/sports" />
    </LinearLayout>

2、MainActivity.java

package com.t20.userinfo;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.os.Bundle;
import android.R.string;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements CompoundButton.OnCheckedChangeListener{

	private CheckBox sing;
	private CheckBox film;
	private CheckBox sports;
	
	//爱好的集合
	private Map<String, String> loveMap=new HashMap<String, String>();
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //复选框(爱好)
        sing=(CheckBox) findViewById(R.id.sing);    //唱歌
        film=(CheckBox) findViewById(R.id.film);    //电影
        sports=(CheckBox) findViewById(R.id.sports);//运动
       
        //绑定监听事件
        sing.setOnCheckedChangeListener(this);
        film.setOnCheckedChangeListener(this);
        sports.setOnCheckedChangeListener(this);
    }


    //复选框
	@Override
	public void onCheckedChanged(CompoundButton checkbox, boolean checked) {
		// TODO Auto-generated method stub
		switch (checkbox.getId()) {
		case R.id.sing:
			if(checked){
				loveMap.put("sing", sing.getText().toString());
			}else{
				//判断如果存在这个键就移除
				if(loveMap.containsKey("sing")){
					loveMap.remove("sing");
				}				
			}
			break;
		case R.id.film:
			if(checked){
				loveMap.put("film", film.getText().toString());
			}else{
				if(loveMap.containsKey("film")){
					loveMap.remove("film");
				}				
			}	
			break;
		case R.id.sports:
			if(checked){
				loveMap.put("sports", sports.getText().toString());
			}else{
				if(loveMap.containsKey("sports")){
					loveMap.remove("sports");
				}				
			}	
			break;
		}
	}
	

    
}

猜你喜欢

转载自blog.csdn.net/qq15577969/article/details/80772256