![](/img/trans.png)
[英]java.lang.IllegalArgumentException: Given String is empty or null
[英]java.lang.IllegalArgumentException: Given String is empty or null onClick signup
每當我點擊注冊錯誤 java.lang.IllegalArgumentException:
給定字符串為空或 null 不斷在日志貓上彈出
我的代碼
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = findViewById(R.id.toolbar);
progressBar = findViewById(R.id.progressBar);
email = findViewById(R.id.etEmail);
password = findViewById(R.id.etPassword);
signup = findViewById(R.id.btnSignup);
login = findViewById(R.id.btnLogin);
forgotPass = findViewById(R.id.btnUserForgottPass);
toolbar.setTitle(R.string.app_name);
firebaseAuth = FirebaseAuth.getInstance();
signup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
progressBar.setVisibility(View.VISIBLE);
firebaseAuth.createUserWithEmailAndPassword(email.getText().toString(), password.getText().toString())
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressBar.setVisibility(View.GONE);
if (task.isSuccessful()) {
firebaseAuth.getCurrentUser().sendEmailVerification()
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(MainActivity.this, "Registered successfully. Please check your email for verification",
Toast.LENGTH_LONG).show();
email.setText("");
password.setText("");
} else {
Toast.makeText(MainActivity.this, task.getException().getMessage(),
Toast.LENGTH_LONG).show();
}
}
});
}
}
});
}
});
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(MainActivity.this, LoginActivity.class));
}
});
forgotPass.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(MainActivity.this, ForgotPasswordActivity.class));
}
});
}
日志貓
java.lang.IllegalArgumentException: Given String is empty or null
at com.google.android.gms.common.internal.Preconditions.checkNotEmpty(Unknown Source)at com.google.firebase.auth.FirebaseAuth.createUserWithEmailAndPassword(Unknown Source)
at com.example.patrick.test.MainActivity$1.onClick(MainActivity.java:56) firebaseAuth.createUserWithEmailAndPassword(email.getText().toString(), password.getText().toString())"
我不知道如何創建一個參數,如果您單擊注冊按鈕並且 email && password is = 為 null,它將顯示提示用戶輸入他們的電子郵件和密碼的吐司。
我只是編程的初學者。
不用擔心,這很簡單。 當您進一步了解時,請將您的 onCreate 視為一個干凈的啟動場所,而不是用於連接按鈕點擊或處理事件。 與此同時,讓我們用你得到的東西來工作。
signup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
progressBar.setVisibility(View.VISIBLE);
String emailStr = email.getText().toString()
String password = password.getText().toString()
if(emailStr == null || emailStr.isEmpty()){
Toast.makeText("Email must not be empty", Toast.LENGTH_SHORT).show();
}else if(password == null || password.isEmpty(){
Toast.makeText("Password must not be empty", Toast.LENGTH_SHORT).show();
}else{
firebaseAuth.createUserWithEmailAndPassword(email.getText().toString(), password.getText().toString())
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressBar.setVisibility(View.GONE);
if (task.isSuccessful()) {
firebaseAuth.getCurrentUser().sendEmailVerification()
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(MainActivity.this, "Registered successfully. Please check your email for verification",
Toast.LENGTH_LONG).show();
email.setText("");
password.setText("");
} else {
Toast.makeText(MainActivity.this, task.getException().getMessage(),
Toast.LENGTH_LONG).show();
}
}
});
}
}
});
}
}
});
我只是復制了您的代碼並直接在此處輸入,因此如果有任何問題,那將是次要的。 目標是將字符串變量與您的用戶條目一起存儲。 然后驗證它們不為空或為空,當然,如果您有要求,在您嘗試發送之前它們滿足這些要求。
如果您更喜歡提前退貨,您也可以這樣做
signup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
progressBar.setVisibility(View.VISIBLE);
String emailStr = email.getText().toString()
String password = password.getText().toString()
if(emailStr == null || emailStr.isEmpty()){
Toast.makeText("Email must not be empty", Toast.LENGTH_SHORT).show();
return;
}
if(password == null || password.isEmpty(){
Toast.makeText("Password must not be empty", Toast.LENGTH_SHORT).show();
return;
}
//the rest of the firebase code
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.