单选按钮
.xml文件代码如下:
<?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="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性别:"
android:textSize="20dp"
android:height="100px"/>
<RadioGroup
android:id="@+id/RadioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/nan"
android:layout_width="wrap_content"
android:layout_height="100px"
android:text="男"/>
<RadioButton
android:id="@+id/nv"
android:layout_width="wrap_content"
android:layout_height="100px"
android:text="女"/>
</RadioGroup>
</LinearLayout>
<Button
android:id="@+id/tijiao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交"/>
</LinearLayout>
.java文件代码如下:
package com.example.button;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final RadioGroup sex=(RadioGroup) findViewById(R.id.RadioGroup1);//获取单选按钮组
//为单选按钮组添加事件监听
sex.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
RadioButton RB=(RadioButton) findViewById(i);//获取被选择的单选按钮
Log.i("单选按钮","你的选择是:"+RB.getText());
}
});
Button button=(Button) findViewById(R.id.tijiao);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//通过for循环遍历单选按钮组
for(int i=0;i<sex.getChildCount();i++){
RadioButton RB=(RadioButton) sex.getChildAt(i);
if(RB.isChecked())
{
Log.i("单选按钮","性别:"+RB.getText());
break;
}
}
}
});
}
}
运行效果图如下:
找到Android Studio此处:
然后进入夜神模拟器选择单选按钮组里面任意性别选项(比如选择男)
此时Android Studio此处更改为
点击提交之后更改为
复选按钮
.xml文件代码如下:
<?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="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="爱好:"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<CheckBox
android:id="@+id/tiyu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="体育"/>
<CheckBox
android:id="@+id/yinyue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="音乐"/>
<CheckBox
android:id="@+id/meishu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="美术"/>
<CheckBox
android:id="@+id/yingyu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="英语"/>
</LinearLayout>
<Button
android:id="@+id/tijiao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交"/>
</LinearLayout>
.java 文件代码如下:
package com.example.button;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final CheckBox tiyu=(CheckBox) findViewById(R.id.tiyu);//获取tiyu复选按钮
final CheckBox yinyue=(CheckBox) findViewById(R.id.yinyue);
final CheckBox meishu=(CheckBox) findViewById(R.id.meishu);
final CheckBox yingyu=(CheckBox) findViewById(R.id.yingyu);
tiyu.setOnCheckedChangeListener(checkBox_listener);//为tiyu添加状态改变监听
yinyue.setOnCheckedChangeListener(checkBox_listener);
meishu.setOnCheckedChangeListener(checkBox_listener);
yingyu.setOnCheckedChangeListener(checkBox_listener);
Button button=(Button) findViewById(R.id.tijiao);//为提交按钮添加事件监听
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String str="";//保存所有选中的值
if(tiyu.isChecked())//选中体育
str+=tiyu.getText().toString()+"";
if(yinyue.isChecked())//选中音乐
str+=yinyue.getText().toString()+"";
if(meishu.isChecked())//选中美术
str+=meishu.getText().toString()+"";
if(yingyu.isChecked())//选中英语
str+=yingyu.getText().toString();
Toast.makeText(MainActivity.this,str,Toast.LENGTH_SHORT).show();
}
});
}
//创建一个状态改变监听对象
private CompoundButton.OnCheckedChangeListener checkBox_listener=new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if(isChecked){//判断复选按钮是否被选中
Log.i("复选按钮","选中了["+compoundButton.getText().toString()+"]");
}
}
};
}
运行效果图如下:
找到Android Studio此处:
选择几项:
效果为:
、
点击提交效果图为: