android - 单击按钮时应发生页面意图
问题描述
我在这里面临的问题是,每当我单击“注册”按钮时,它应该将我重定向到下一页,但这里没有发生。当我单击“注册”按钮时没有任何反应;它不会将我重定向到下一页..即使没有错误..我也尝试了各种方法仍然无法正常工作。但问题是我已经向我的 xml 文件添加了验证。这就是我在重定向页面的意图时遇到问题的原因吗?非常感谢任何帮助
这是我的 new_user_register.java 文件
public class new_user_register extends AppCompatActivity {
EditText name1;
EditText email1;
EditText usname1;
EditText password1;
Button register;
ToastManager toastManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_user_register);
name1 = (EditText) findViewById(R.id.name1);
email1 = (EditText) findViewById(R.id.email1);
usname1 = (EditText) findViewById(R.id.usname1);
password1 = (EditText) findViewById(R.id.password1);
register = (Button) findViewById(R.id.registerr);
register.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
String NAME = name1.getText().toString().trim();
String EMAIL = email1.getText().toString().trim();
String username = usname1.getText().toString().trim();
String password = password1.getText().toString().trim();
String emailPattern = "^[a-zA-Z0-9+_.-]{3,32}+@[a-zA-Z0-9.-]{2,32}+$";
boolean isAtLeastOneFieldNotEmpty = !NAME.isEmpty()
|| !EMAIL.isEmpty()
|| !username.isEmpty()
|| !password.isEmpty();
toastManager = new ToastManager(new_user_register.this);
// You have 5 registration fields that users must fill up.
final int totalRegistrationField = 5;
// This will increase by 1 when a field is valid
int validRegistrationFieldCount = 0;
if (isAtLeastOneFieldNotEmpty) {
// NAME VALIDATION
if (NAME.isEmpty()) {
toastManager.addToast("ENTER NAME", ToastManager.Duration.LENGTH_SHORT);
} else if (!((NAME.length() > 3) && (NAME.length() < 15))) {
toastManager.addToast("NAME IS TOO SHORT.IT MUST BE BETWEEN 3-15 CHARACTERS.", ToastManager.Duration.LENGTH_SHORT);
} else if (!NAME.matches("[a-zA-Z ]+")) {
toastManager.addToast("ONLY ALPHABETS ALLOWED", ToastManager.Duration.LENGTH_SHORT);
} else {
++validRegistrationFieldCount;
}
// EMAIL VALIDATION
if (EMAIL.isEmpty()) {
toastManager.addToast("ENTER EMAIL-ID", ToastManager.Duration.LENGTH_SHORT);
} else if (!(EMAIL.matches(emailPattern))) {
toastManager.addToast("INVALID EMAIL", ToastManager.Duration.LENGTH_SHORT);
} else {
++validRegistrationFieldCount;
}
// USERNAME VALIDATION
if (username.isEmpty()) {
toastManager.addToast("ENTER USERNAME", ToastManager.Duration.LENGTH_SHORT);
} else if (!((username.length() > 6) && (username.length() < 15))) {
toastManager.addToast("USERNAME IS TOO SHORT.IT MUST BE BETWEEN 6-15 CHARACTERS.", ToastManager.Duration.LENGTH_SHORT);
} else {
++validRegistrationFieldCount;
}
// PASSWORD VALIDATION
if (password.isEmpty()) {
toastManager.addToast("ENTER PASSWORD", ToastManager.Duration.LENGTH_SHORT);
} else if (!((password.length() > 6) && (password.length() < 15))) {
toastManager.addToast("PASSWORD IS TOO SHORT.IT MUST BE BETWEEN 6-15 CHARACTERS.", ToastManager.Duration.LENGTH_SHORT);
} else {
++validRegistrationFieldCount;
}
} else {
toastManager.addToast("ALL FIELDS ARE COMPULSORY", ToastManager.Duration.LENGTH_SHORT);
}
if (validRegistrationFieldCount != totalRegistrationField) {
// Finally show all toast all screen
toastManager.show();
} else {
Intent i = new Intent(new_user_register.this, bottom_nav.class);
startActivity(i);
}
}
});
}
}
这是我的 new_user_register.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".loginpage"
android:background="@drawable/ic_launcher_background">
<TextView
android:layout_width="216dp"
android:layout_height="68dp"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
android:layout_marginEnd="128dp"
android:layout_marginBottom="561dp"
android:text="NEW USER REGISTRATION"
android:textColor="@color/black"
android:textSize="25dp"
android:textStyle="bold|italic"
android:typeface="sans" />
<TextView
android:id="@+id/textView"
android:layout_width="168dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="207dp"
android:layout_marginBottom="277dp"
android:drawableLeft="@drawable/username_foreground"
android:text="USERNAME"
android:textColor="@color/Purple"
android:textSize="20dp" />
<TextView
android:id="@+id/name"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="256dp"
android:layout_marginBottom="501dp"
android:drawableLeft="@drawable/username_foreground"
android:text="NAME"
android:textColor="@color/Purple"
android:textSize="20dp" />
<EditText
android:id="@+id/name1"
android:layout_width="291dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="80dp"
android:layout_marginBottom="434dp"
android:hint="ENTER NAME" />
<TextView
android:id="@+id/email"
android:layout_width="144dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="229dp"
android:layout_marginBottom="386dp"
android:drawableLeft="@drawable/password_foreground"
android:text="EMAIL ID"
android:textColor="@color/Purple"
android:textSize="20dp" />
<EditText
android:id="@+id/email1"
android:layout_width="289dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="87dp"
android:layout_marginBottom="326dp"
android:hint="ENTER EMAIL ID" />
<EditText
android:id="@+id/usname1"
android:layout_width="292dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="85dp"
android:layout_marginBottom="220dp"
android:hint="ENTER USERNAME" />
<TextView
android:id="@+id/t3"
android:layout_width="185dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="184dp"
android:layout_marginBottom="170dp"
android:drawableLeft="@drawable/password_foreground"
android:text="PASSWORD"
android:textColor="@color/Purple"
android:textSize="20dp" />
<EditText
android:id="@+id/password1"
android:layout_width="286dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="88dp"
android:layout_marginBottom="113dp"
android:hint="ENTER PASSWORD" />
<ImageView
android:layout_width="100dp"
android:layout_height="110dp"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="-15dp"
android:layout_marginBottom="525dp"
android:src="@drawable/imaagee" />
<ImageView
android:layout_width="100dp"
android:layout_height="110dp"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="-15dp"
android:layout_marginBottom="408dp"
android:src="@drawable/image" />
<ImageView
android:layout_width="100dp"
android:layout_height="110dp"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="-15dp"
android:layout_marginBottom="292dp"
android:src="@drawable/iimagee" />
<ImageView
android:layout_width="100dp"
android:layout_height="110dp"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="-15dp"
android:layout_marginBottom="176dp"
android:src="@drawable/imagee" />
<ImageView
android:layout_width="100dp"
android:layout_height="110dp"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="-15dp"
android:layout_marginBottom="61dp"
android:src="@drawable/imageee" />
<Button
android:id="@+id/registerr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="210dp"
android:layout_marginBottom="43dp"
android:background="@android:color/transparent"
android:text="REGISTER"
android:textColor="@color/Purple"
android:textSize="25dp" />
</RelativeLayout>
解决方案
以下条件将始终为真。看着
if (validRegistrationFieldCount != totalRegistrationField)
这就是为什么else
部分内部的代码没有执行并且startActivity(i)
永远不会被调用的原因。
问题实际上是有 4 个输入字段,即NAME、EMIAL、USER NAME和PASSWORD,但是您设置了 totalRegistrationField = 5。
解决方案:只需像这样重置变量
final int totalRegistrationField = 4;
推荐阅读
- ios - 如何在 iOS 上使用袖珍狮身人面像运行唤醒词检测?
- ios - IOS 14图像未在本机反应中显示
- node.js - 无法使用 ipfs-http-client 订阅超过 6 个 ipfs pubsub 频道
- android - 当应用程序进入后台时,计时器在 10 分钟后停止
- flutter - 我收到一个错误类型 Future
不是String类型的子类型?当我使用 _determinPsition 的结果填充表单字段时 - wordpress - WPGraphQL 和 Elementor 获取页面或发布 css 和脚本
- android - 预加载具有动态大小的图像并在 RecyclerView 中正确显示它们
- c# - 想要列表对象
- python - sympy 将矩阵方程求解为空?
- json - Presto kafka 连接器,使用 json 数组解析/读取 json 消息