【Android】 self_introduce实现

一、测试截图

没有填完的异常处理!

二、关键代码

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());
        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值