针对于之前的登录页面设计数据进行交互


描述

当用户刚进入到登录页面时,点击登录按钮会弹出一个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);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿代码_QQ_3014067949

给小编价格鸡腿吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值