activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RadioGroup
android:id="@+id/RG"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/RB1"
android:layout_width="170dp"
android:layout_height="wrap_content"
android:checked="true"
android:text="密码登录"
android:textSize="22dp"/>
<RadioButton
android:id="@+id/RB2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="验证码登录"
android:textSize="22dp"/>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp">
<TextView
android:layout_width="150dp"
android:gravity="right"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="我是:"/>
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="48dp"
android:spinnerMode="dialog"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="手机号码:"
android:textSize="30sp"/>
<EditText
android:id="@+id/phonenum"
android:layout_width="match_parent"
android:layout_height="58dp"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/denglv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登录密码:"
android:textSize="30dp"
/>
<EditText
android:id="@+id/denglvpwd"
android:layout_width="100dp"
android:layout_height="55dp"
android:inputType="textPassword"/>
<Button
android:id="@+id/BT1"
android:layout_width="match_parent"
android:layout_height="55dp"
android:text="忘记密码"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/denglv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone">
<TextView
android:layout_width="110dp"
android:layout_height="wrap_content"
android:gravity="right"
android:text="验证码:"
android:textSize="30dp"
/>
<EditText
android:id="@+id/codedenglu"
android:layout_width="110dp"
android:layout_height="55dp" />
<Button
android:id="@+id/codeloginBT"
android:layout_width="match_parent"
android:layout_height="55dp"
android:text="获取验证码"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/JZMM"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="visible">
<CheckBox
android:id="@+id/CBx"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="记住密码"/>
</LinearLayout>
MainActivity.java
package com.example.ruan.dengluapp;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private Spinner spinner;
private RadioGroup RG;
private LinearLayout denglv1,denglv2,JZMM;
private Button BT1,BTDL,codeloginBT;
private EditText denglvpwd,phonenum,codedenglu;
private boolean flag=true;
String num;
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (requestCode==0){
//ForgeActivity返回的数据
if (resultCode==1){
num=intent.getStringExtra("密码");
}
}
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner=(Spinner)this.findViewById(R.id.spinner);
RG=(RadioGroup)this.findViewById(R.id.RG);
denglv1=(LinearLayout)this.findViewById(R.id.denglv1);
denglv2=(LinearLayout)this.findViewById(R.id.denglv2);
JZMM=(LinearLayout)this.findViewById(R.id.JZMM);
BT1=(Button) this.findViewById(R.id.BT1);
BTDL=(Button) this.findViewById(R.id.BTDL);
denglvpwd=(EditText)this.findViewById(R.id.denglvpwd);
phonenum=(EditText)this.findViewById(R.id.phonenum);
codedenglu=(EditText)this.findViewById(R.id.codedenglu);
codeloginBT=(Button)this.findViewById(R.id.codeloginBT);
final int code=(int)(Math.random()*9000)+1000;
codeloginBT.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请记住验证码");
builder.setMessage("手机号" + phonenum.getText().toString() + ",本次的验证码是" + code+ ",请输入验证码");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.create().show();
}
});
BT1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(MainActivity.this,ForgetActivity.class);
Bundle bundle=new Bundle();
bundle.putString("手机号",phonenum.getText().toString());
intent.putExtras(bundle);
startActivityForResult(intent,0);//为了跳转后获取返回值
}
});
//重写方法,接受返回的值
BTDL.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (flag==true) {
if (denglvpwd.getText().toString().equals(num)) {
Toast.makeText(MainActivity.this, "密码登录登录成功", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this, "密码登录失败密码错误", Toast.LENGTH_LONG).show();
}
}else {
if (codedenglu.getText().toString().equals(code+"")){
Toast.makeText(MainActivity.this, "验证码登录登录成功", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(MainActivity.this, "验证码登录失败密码错误", Toast.LENGTH_LONG).show();
}
}
}
});
final String array[]={"个人用户","实体用户","企业用户"};
ArrayAdapter adapter=new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,array);
spinner.setAdapter(adapter);
// adapter.setDropDownViewResource(R.layout.item_dropdom);
RG.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int checkId) {
switch (checkId){
case R.id.RB1:denglv2.setVisibility(View.GONE);
denglv1.setVisibility(View.VISIBLE);
flag=true;
JZMM.setVisibility(View.VISIBLE);break;
case R.id.RB2:denglv1.setVisibility(View.GONE);
JZMM.setVisibility(View.GONE);
flag=false;
denglv2.setVisibility(View.VISIBLE);
break;
}
}
});
}
forgetnumber_main.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:layout_width=“125dp”
android:layout_height=“wrap_content”
android:text=“验证码:”
android:textSize="30dp"/>
<EditText
android:id="@+id/inputCode"
android:layout_width="98dp"
android:layout_height="55dp"
android:hint="输入验证码"
/>
<Button
android:id="@+id/getCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="获取验证码"/>
</LinearLayout>
<Button
android:id="@+id/BTQD"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="确定"
android:textSize="40sp"/>
ForgetActivity.java
package com.example.ruan.dengluapp;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class ForgetActivity extends AppCompatActivity {
private Button BTQD,getCode;
private EditText pwd1,pwd2,inputCode;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.forgetnumber_main);
BTQD=(Button)this.findViewById(R.id.BTQD);
getCode=(Button)this.findViewById(R.id.getCode);
pwd1=(EditText)this.findViewById(R.id.pwd1);
pwd2=(EditText)this.findViewById(R.id.pwd2);
inputCode=(EditText)this.findViewById(R.id.inputCode);
//获取上一页面传来的数据
final Intent intent = getIntent();
Bundle bundle=intent.getExtras();
final String number=bundle.getString("手机号");//获取传过来的手机号
final int num=(int)(Math.random()*9000)+1000;
//为获取验证码添加点击事件
getCode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String pwd11=pwd1.getText().toString();
final String pwd12=pwd2.getText().toString();
if (pwd11!=""&&pwd12!=""&&pwd11.equals(pwd12)) {
AlertDialog.Builder builder = new AlertDialog.Builder(ForgetActivity.this);
builder.setTitle("请记住验证码");
builder.setMessage("手机号" + number + ",本次的验证码是" + num + ",请输入验证码");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.create().show();
}else {
Toast.makeText(ForgetActivity.this, "两次密码输入不一样,请重新输入", Toast.LENGTH_LONG).show();
}
}
});
BTQD.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (inputCode.getText().toString().equals(num+"")){
Intent intent1=new Intent(ForgetActivity.this,MainActivity.class);
final String pwd11=pwd1.getText().toString();
intent1.putExtra("密码",pwd11);
setResult(1,intent1);//结果码
finish();
}else {
Toast.makeText(ForgetActivity.this, "验证码输入错误"+num, Toast.LENGTH_LONG).show();
}
}
});
}