先上效果图片:
第一种,匿名内部类
//设置提交按钮监听
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("我是方法一");
// 初始性别字符串
String Sex = "";
//循环单选组
for (int i = 0; i < radioButton.getChildCount(); i++) {
RadioButton r = (RadioButton) radioButton.getChildAt(i);
if (r.isChecked()) {
Sex = r.getText().toString();
// 先LogCat测试一下
// System.out.println(Sex);
break;
}
}
// 初始化爱好字符串
String userLove = "";
if (checkBox1.isChecked()) {
userLove += (String) checkBox1.getText().toString() + " ";
}
if (checkBox2.isChecked()) {
userLove += (String) checkBox2.getText().toString() + " ";
}
if (checkBox3.isChecked()) {
userLove += (String) checkBox3.getText().toString() + " ";
}
System.out.println(userLove);
// 广播
Toast.makeText(MainActivity.this,
"你填写的信息如下\n" + "用户名:" + userName.getText()
+ "\n密码:" + userPassword.getText()
+ "\n性别:" + Sex
+ "\n爱好:" + userLove,
Toast.LENGTH_LONG).show();
}
});
第二种,控件的事件属性绑定
<!-- 控件属性监听 -->
<Button
android:id="@+id/submit1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
<!-- 这个属性,绑定事件 -->
android:onClick="showInput"
android:text="提交2" />
第三种,通过事件源所在类实现
下面是完整的布局xml代码与主活动代码
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
tools:context=".MainActivity">
<!--
2021.9.29
编写用户信息填写界面,使用布局嵌套,使用控件ImageView\TextView\EditText\RadioBotton\CheckBox\Button\
Written by Zhong Tao
-->
<LinearLayout
android: