我的小教程|安卓Android绘制一个信息填写页面,使用了三种事件监听方法
先上效果图片:
文章图片
第一种,匿名内部类
//设置提交按钮监听
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();
}
});
第二种,控件的事件属性绑定
第三种,通过事件源所在类实现
文章图片
下面是完整的布局xml代码与主活动代码
package com.zt.myapplication;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
/**
* 2021.10.6
* 设置提交按钮监听,点击按钮后,广播出用户填写的信息
* Written by Zhong Tao
*/public class MainActivity extends AppCompatActivity implements View.OnClickListener{// 提交按钮
Button submitButton;
Button submitButton3;
// 用户名输入框
EditText userName;
// 用户密码输入框
EditText userPassword;
// 性别单选框
RadioGroup radioButton;
// 爱好多选框
CheckBox checkBox1;
CheckBox checkBox2;
CheckBox checkBox3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 2021.10.6
* 设置提交按钮监听,点击按钮后,广播出用户填写的信息
* Written by Zhong Tao
*///为对象赋值
userName = findViewById(R.id.userNameInput);
userPassword = findViewById(R.id.passwordInput);
radioButton = (RadioGroup) findViewById(R.id.sexGroup);
submitButton = findViewById(R.id.submit);
submitButton3 = findViewById(R.id.submit3);
//多选框数量
int checkBoxNum = 3;
checkBox1 = (CheckBox) findViewById(R.id.checkBox1);
checkBox2 = (CheckBox) findViewById(R.id.checkBox2);
checkBox3 = (CheckBox) findViewById(R.id.checkBox3);
//设置提交按钮监听(内部类方式)
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();
}
});
submitButton3.setOnClickListener(this);
}//控件属性的事件监听方法
public void showInput(View view) {
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();
}//通过事件源所在类实现
@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();
}}
【我的小教程|安卓Android绘制一个信息填写页面,使用了三种事件监听方法】
推荐阅读
- 一个小故事,我的思考。
- 家乡的那条小河
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- 昨夜小楼听风
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 前任
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 2019.4.18感恩日记