[英]Why does the button say as an invalid button type?
我正在创建一个带有 firebase 的社交媒体应用程序来存储数据。当应用程序构建时,会显示非法 java 异常显示:- 查看 ID 为 2131165271 的字段“mButton”的“按钮”类型错误。 有关更多信息,请参阅 ca use。 package com.example.whatareyouthinking;
import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; import com.google.firebase.auth.AuthResult; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.firestore.CollectionReference; import com.google.firebase.firestore.FirebaseFirestore;
import java.util.HashMap; import java.util.Map;
import butterknife.BindView; import butterknife.ButterKnife;
public class MainActivity extends AppCompatActivity {
@BindView(R.id.name)EditText mNameEt;
@BindView(R.id.email)EditText mEmailEt;
@BindView(R.id.password)EditText mPasswordEt;
@BindView(R.id.button)EditText mButton;
private String name,email,password;
private FirebaseAuth mAuth;
private CollectionReference mRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
mAuth=FirebaseAuth.getInstance();
mRef= FirebaseFirestore.getInstance().collection("Users");
mButton.setOnClickListener(v -> checkDataAndLogin());
}
private void checkDataAndLogin(){
name=mNameEt.getText().toString();
email=mEmailEt.getText().toString().trim();
password=mPasswordEt.getText().toString().trim();
if(name.isEmpty()||email.isEmpty()||password.length()<6){
Toast.makeText(getApplicationContext(),"Invalid Credentials",Toast.LENGTH_SHORT).show();
}
else{
mAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()){
Toast.makeText(getApplicationContext(),task.getException().getLocalizedMessage(),Toast.LENGTH_LONG).show();
}
else {
saveUserData();
}
}
});
}
}
private void saveUserData(){
Map<String,String> map =new HashMap<>();
map.put("name",name);
map.put("email",email);
map.put("password",password);
map.put("id",mAuth.getUid());
mRef.document(mAuth.getUid()).set(map).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(!task.isSuccessful()){
Toast.makeText(getApplicationContext(),task.getException().getLocalizedMessage(),Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(),"SignUp Successful",Toast.LENGTH_SHORT).show();
}
}
});
} }
这是我的 Mainactivity 代码 mbutton 有什么问题有人可以帮忙吗?
这里:
@BindView(R.id.button)EditText mButton;
应该:
@BindView(R.id.button)Button mButton;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.