我的注册按钮在Andorid工作室中不起作用



这是我在Android studio中的寄存器类,模拟器正常工作
然而,每当我试图按下寄存器以检查我在代码中提供的if语句的输入。它不工作,无论是注册按钮,我创建

下面是我的代码:
package com.example.registration;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class RegisterActivity extends AppCompatActivity {
EditText edtUsernameRegister, edtPasswordRegister , edtEmail;
Button btnRegister;
User user;
Helper helper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_MODE_CHANGED);
edtUsernameRegister = findViewById(R.id.inputUsername);
edtPasswordRegister = findViewById(R.id.inputPassword);
edtEmail = findViewById(R.id.inputEmail);
btnRegister = findViewById(R.id.btnRegister);
helper = new Helper(this);
user = new User();

TextView btn = findViewById(R.id.alreadyHaveAccount);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(RegisterActivity.this, LoginActivity.class));
btnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
});
}
public void onClick(View v) {
if (v == btnRegister) {
String username = edtUsernameRegister.getText().toString().trim().toLowerCase();
String password = edtPasswordRegister.getText().toString().trim();
String email = edtEmail.getText().toString().trim();
if (!username.isEmpty() || !password.isEmpty() || !email.isEmpty()) {
user.setUsername(username);
user.setemail(email);
user.setPassword(password);
user.setType("customer");
boolean didSucceed = helper.registerUser(user);
if (didSucceed) {
Toast.makeText(this, "Registered successfully", Toast.LENGTH_SHORT).show();
Intent iii = new Intent(this, LoginActivity.class);
startActivity(iii);
} else {
Toast.makeText(this, "Registration failed..", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(this, "insert all fields, please..", Toast.LENGTH_SHORT).show();
}
}
}
}

,下面是模拟器运行

时显示的消息

首先,我认为这部分:

btnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});

…将不在btn的onClick(),就像它不是嵌套的。

接下来,您创建并放入逻辑的单独onClick()必须像这样调用:

btnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onClick(view);
}
});

…为了让它做点什么

如果我误解了你的问题的任何部分,请纠正我。

相关内容

最新更新