CheckBox多复选按钮效果图
xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.app3.MainActivity"
android:id="@+id/layout">
<CheckBox
android:id="@+id/et_main_sport"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="运动"/>
<CheckBox
android:id="@+id/et_main_reading"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="看书"/>
<CheckBox
android:id="@+id/et_main_game"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="游戏"/>
<Button
android:id="@+id/et_main_ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OK"/>
</LinearLayout>
Java代码
package com.example.app3;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button et_main_ok;
CheckBox et_main_sport;
CheckBox et_main_reading;
CheckBox et_main_game;
LinearLayout mLayout;
Toast toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
}
private void initViews(){
et_main_ok =(Button)findViewById(R.id.et_main_ok);
et_main_sport = (CheckBox)findViewById(R.id.et_main_sport);
et_main_reading = (CheckBox)findViewById(R.id.et_main_reading);
et_main_game = (CheckBox)findViewById(R.id.et_main_game);
mLayout = (LinearLayout)findViewById(R.id.layout);
et_main_ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
StringBuilder hobby = new StringBuilder();
int count = mLayout.getChildCount();
for(int i = 0;i < count;i++){
// 获得子控件对象
View child = mLayout.getChildAt(i);
// 判断是否是CheckBox
if(child instanceof CheckBox){
// 转为CheckBox对象
CheckBox cb = (CheckBox)child;
if(cb.isChecked()){
hobby.append(cb.getText()+" ");
}
}
}
if(hobby.length() == 0){
Toast.makeText(MainActivity.this, "木有爱好", Toast.LENGTH_SHORT).show();
}else{
//Toast.makeText(MainActivity.this, "爱好有:"+hobby.toString(), Toast.LENGTH_SHORT).show();
//带图片的Toast
toast = Toast.makeText(getApplicationContext(), "爱好有:"+hobby.toString(), Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
LinearLayout toastView = (LinearLayout) toast.getView();
ImageView imageCodeProject = new ImageView(getApplicationContext());
imageCodeProject.setImageResource(R.mipmap.ic_launcher);
toastView.addView(imageCodeProject, 0);
toast.show();
}
}
});
}
}