描述
当用户刚进入到登录页面时,点击登录按钮会弹出一个dialog,点击注册按钮会将账号密码自动补齐,默认性别显示为女。
提示:以下是本篇文章正文内容,下面案例可供参考
一、流程图
提示:简单来说就是给注册以及登录按钮各设计一个监听事件,对监听到的事件进行处理。
二、具体实现
需要在LoginActivity.java中进行书写
(1)给注册按钮设计点击事件,实现点击注册按钮后将内置的手机号以及密码显示在两个输入框中的功能。
代码如下(示例):
private Button buttonReg;//声明button
buttonReg = findViewById(R.id.reg);
buttonReg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editTextName.setText("123456");
editTextPassword.setText("123");
}
});
(2)给登录按钮设计点击事件。
代码如下(示例):
private Button buttonLogin;
buttonLogin = findViewById(R.id.login);
buttonLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//得到文本框的内容
String name = editTextName.getText().toString();
String password = editTextPassword.getText().toString();
//进行非空判断
if (name.equals("") || password.equals("")) {
AlertDialog.Builder dialog = new AlertDialog.Builder(LoginActivity.this);
dialog.setTitle("提示")
.setMessage("请输入内容")
.setCancelable(false) //默认为true 选择之外的是会消失
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//点击后的事件自行处理
}
})
.setNeutralButton("还行", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//点击后的事件自行处理
}
})
.setNegativeButton("取消 ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//点击后的事件自行处理
}
}).show();
} else {
//radioButton不能够单独使用
RadioButton radioButton = findViewById(radioGroup.getCheckedRadioButtonId());
String gender = radioButton.getText().toString();
Toast.makeText(LoginActivity.this, "你的手机号:" + name + ",你的密码:" + password + ",性别:" + gender, Toast.LENGTH_SHORT).show();
}
}
});
(2)实现RadioButton的默认选中以及显示功能(将性别改为相反的进行显示)
代码如下(示例):
private RadioGroup radioGroup;
radioGroup = findViewById(R.id.rg_1);
//通过这个循环来获取到group中的子元素
for (int i = 0; i < radioGroup.getChildCount(); i++) {
RadioButton rb = (RadioButton) radioGroup.getChildAt(i);
if (rb.getText().toString().equals("女")) {
rb.setChecked(true);
}
}
总结
完整代码:
package com.example.upclass;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class LoginActivity extends AppCompatActivity {
//声明
private EditText editTextName, editTextPassword;
private Button buttonReg, buttonLogin;
private RadioGroup radioGroup;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
getView();
//通过这个循环来获取到group中的子元素
for (int i = 0; i < radioGroup.getChildCount(); i++) {
RadioButton rb = (RadioButton) radioGroup.getChildAt(i);
if (rb.getText().toString().equals("女")) {
rb.setChecked(true);
}
}
buttonReg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editTextName.setText("123456");
editTextPassword.setText("123");
}
});
buttonLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//得到文本框的内容
String name = editTextName.getText().toString();
String password = editTextPassword.getText().toString();
if (name.equals("") || password.equals("")) {
AlertDialog.Builder dialog = new AlertDialog.Builder(LoginActivity.this);
dialog.setTitle("提示")
.setMessage("请输入内容")
.setCancelable(false) //默认为true 选择之外的是会消失
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNeutralButton("还行", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton("取消 ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).show();
} else {
//radioButton不能够单独使用
RadioButton radioButton = findViewById(radioGroup.getCheckedRadioButtonId());
String gender = radioButton.getText().toString();
Toast.makeText(LoginActivity.this, "你的手机号:" + name + ",你的密码:" + password + ",性别:" + gender, Toast.LENGTH_SHORT).show();
}
}
});
}
public void getView() {
editTextName = findViewById(R.id.name);
editTextPassword = findViewById(R.id.password);
buttonReg = findViewById(R.id.reg);
buttonLogin = findViewById(R.id.login);
radioGroup = findViewById(R.id.rg_1);
}
}