(1)通过在XML布局文件中使用<checkBox>标记添加复选框,在res/layout目录下,创建activity_main.xml,如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<CheckBox
android:text="魔术"
android:id="@+id/ID1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
<CheckBox
android:text="牧师"
android:id="@+id/ID2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
<CheckBox
android:text="狼人"
android:id="@+id/ID3"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
<Button
android:text="提交"
android:id="@+id/bt"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
</LinearLayout>
(2)在MainActivity中,实例化OnCheckedChangeListener对象,重写onCheckedChanged()方法,选中就用输出一条对应日志;在onCreate()方法中,获取添加的三个复选框,并添加监听事件;设置一个提交按钮,获取被选中的复选框的值,并用Toast输出:
package com.example.test5;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
final OnCheckedChangeListener checkBox_listener=new
OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton ButtonView,
boolean isChecked) {
// TODO 自动生成的方法存根
if(isChecked){
Log.i("复选框","选中了["+ButtonView.getText().
toString()+"]");
}
}
};
final CheckBox like1=(CheckBox) findViewById(R.id.ID1);
final CheckBox like2=(CheckBox) findViewById(R.id.ID2);
final CheckBox like3=(CheckBox) findViewById(R.id.ID3);
like1.setOnCheckedChangeListener(checkBox_listener);
like2.setOnCheckedChangeListener(checkBox_listener);
like3.setOnCheckedChangeListener(checkBox_listener);
Button bt=(Button) findViewById(R.id.bt);
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String like="";
if(like1.isChecked())
like+=like1.getText().toString()+"";
if(like2.isChecked())
like+=like2.getText().toString()+"";
if(like3.isChecked())
like+=like3.getText().toString()+"";
Toast.makeText(MainActivity.this,like, Toast.LENGTH_SHORT).show();
}
}
);
}
}
(3)实际运行效果: