一、测试截图
没有填完的异常处理!
二、关键代码
1、layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F0FFFF"
android:orientation="vertical">
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="个人信息"
android:textSize="30dp"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#000000" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" 姓 名:"
android:textSize="20sp"
android:textStyle="italic" />
<EditText
android:id="@+id/edt_1"
android:layout_width="150sp"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" 性 别:"
android:textSize="20sp"
android:textStyle="italic" />
<RadioGroup
android:id="@+id/rg_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb_1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="男"
android:textSize="18sp" />
<RadioButton
android:id="@+id/rb_2"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="女"
android:textSize="18sp" />
</RadioGroup>
</LinearLayout>
<TextView
android:id="@+id/tv_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" 爱 好:"
android:textSize="20sp"
android:textStyle="italic" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="86dp">
<CheckBox
android:id="@+id/chb_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="77dp"
android:layout_marginLeft="108dp"
android:layout_marginTop="2dp"
android:checked="false"
android:text="音乐"
android:textSize="18sp" />
<CheckBox
android:id="@+id/chb_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/chb_1"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="77dp"
android:layout_marginLeft="108dp"
android:layout_marginTop="10dp"
android:text="游戏"
android:textSize="18sp" />
<CheckBox
android:id="@+id/chb_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/chb_4"
android:layout_alignTop="@+id/chb_1"
android:layout_marginLeft="-1dp"
android:layout_marginTop="2dp"
android:layout_marginRight="-77dp"
android:text="旅游"
android:textSize="18sp" />
<CheckBox
android:id="@+id/chb_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/chb_3"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginTop="6dp"
android:layout_marginEnd="100dp"
android:layout_marginRight="167dp"
android:text="电影"
android:textSize="18sp" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" 年 级:"
android:textSize="20dp"
android:textStyle="italic" />
<Spinner
android:id="@+id/sp_1"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:entries="@array/nianji" />
</LinearLayout>
<Button
android:id="@+id/bt_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="提交" />
<TextView
android:id="@+id/tv_6"
android:layout_width="match_parent"
android:layout_height="150dp"
android:text=" 请填入信息!"
android:textSize="20dp" />
<Button
android:id="@+id/bt_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="清除"
android:textColor="#c20014"
android:textSize="18sp" />
</LinearLayout>
2、java
public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {
private TextView tv_2,tv_3,tv_4,tv_5,tv_6;
private EditText edt_1;
private Button bt_1,bt_2;
private RadioButton rb_1,rb_2;
private RadioGroup rg_1;
private CheckBox chb_1,chb_2,chb_3,chb_4;
Spinner sp_1;
private String s_1;
private String s_2;
ArrayList<String> hobbies=new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_2=findViewById(R.id.tv_2);
edt_1=findViewById(R.id.edt_1);
tv_6=findViewById(R.id.tv_6);
bt_1=findViewById(R.id.bt_1);
bt_2=findViewById(R.id.bt_2);
rg_1=findViewById(R.id.rg_1);
rb_1=findViewById(R.id.rb_1);
rb_2=findViewById(R.id.rb_2);
tv_3=findViewById(R.id.tv_3);
tv_4=findViewById(R.id.tv_4);
chb_1=findViewById(R.id.chb_1);
chb_2=findViewById(R.id.chb_2);
chb_3=findViewById(R.id.chb_3);
chb_4=findViewById(R.id.chb_4);
sp_1=findViewById(R.id.sp_1);
tv_5=findViewById(R.id.tv_5);
s_1="";
s_2="";
//单选组事件
rg_1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
if(i==rb_1.getId()){
s_1=rb_1.getText().toString();
}else if(i==rb_2.getId()){
s_1=rb_2.getText().toString();
}
}
});
//提交按钮事件
bt_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String stv_6="";
int flag=0;
tv_6.setText("");//格式化内容
//pd名字输入
if(edt_1.length()!=0){
stv_6=tv_2.getText().toString()+edt_1.getText().toString()+"\n";
flag++;
}else{
tv_6.append("请输入姓名!!"+"\n");
}
//pd性别选择
if(s_1!=""){
stv_6+=tv_3.getText().toString()+s_1+"\n";
flag++;
}else{
tv_6.append("请选择性别!!"+"\n");
}
//复选框
if(hobbies.size()!=0){
for(int i=0;i<hobbies.size();i++){
if(i==hobbies.size()-1)
s_2+=hobbies.get(i);
else
s_2+=hobbies.get(i)+"、";
}
stv_6+=tv_4.getText().toString()+s_2+"\n";
flag++;
}else{
tv_6.append("请选择爱好!!"+"\n");
}
//spinner
if(sp_1.getSelectedItemPosition()!=0){
stv_6+=tv_5.getText().toString()+sp_1.getSelectedItem().toString();
flag++;
}else {
tv_6.append("请选择年级!!");
}
if(flag==4)tv_6.setText(stv_6);
}
});
//清除按钮事件
bt_2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
edt_1.setText("");
tv_6.setText("");
rg_1.clearCheck();
s_1="";
chb_1.setChecked(false);
chb_2.setChecked(false);
chb_3.setChecked(false);
chb_4.setChecked(false);
sp_1.setSelection(0);
}
});
//复选框设置监听器
chb_1.setOnCheckedChangeListener(this);
chb_2.setOnCheckedChangeListener(this);
chb_3.setOnCheckedChangeListener(this);
chb_4.setOnCheckedChangeListener(this);
}
//接口类的Override
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(b){
hobbies.add(compoundButton.getText().toString().trim());
}else{
hobbies.remove(compoundButton.getText().toString());
}
}
}