android - 无法解析方法“addOnCompleteListener”和“setonclicklistener”
问题描述
在这里,在下面的代码中,方法“addOnCompleteListener”和“setonclicklistener”不起作用。这些以红色显示。所以不允许发布太多代码,所以我在这里写下我使用的所有导入。OnFailureListener、OnSuccessListener、OnCompleteListener、AuthResult、FireBaseAuth.getInstance、Activity等以及基本导入。
package com.example.myfirstapp;
public class MainActivity extends AppCompatActivity {
EditText emailId, password;
Button btnSignUp;
TextView tvSignIn;
FireBaseAuth mFireBaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFireBaseAuth = getInstance();
emailId = findViewById(R.id.editTextTextEmailAddress);
password = findViewById(R.id.editTextTextPassword);
btnSignUp = findViewById(R.id.button);
tvSignIn = findViewById(R.id.textView);
btnSignUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = emailId.getText().toString();
String pwd = password.getText().toString();
if (email.isEmpty()) {
emailId.setError("Please enter the email id.");
emailId.requestFocus();
} else if (!(email.isEmpty() && pwd.isEmpty())) {
mFireBaseAuth.createUserWithEmailAndPassword(email, pwd).addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>()
{
@Override
public void onComplete (Task < AuthResult > task)
{
if (!task.isSuccessful()) {
Toast.makeText( MainActivity.this,
"SignUp Unsuccessful. Please try again.",Toast.LENGTH_SHORT).show();
} else {
startActivity(new Intent(MainActivity.this, HomeActivity.class));
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
}
else
{
Toast.makeText( MainActivity.this,
"Error Occurred!",Toast.LENGTH_SHORT).show();
}
}
tvSignIn.setOnClickListener(new View.OnClickListener())
{
public void OnClick(View v)
{
Intent i=new Intent(MainActivity.this, LoginActivity.class);
startActivity(i);
}
}
});
}
}
解决方案
问题是您在创建它的对象时拼错了 FirebaseAuth。
public class MainActivity extends AppCompatActivity {
EditText emailId, password;
Button btnSignUp;
TextView tvSignIn;
// THE PROBLEM IS HERE:
FireBaseAuth mFireBaseAuth;
/* It is miscapitalized so it doesnt know what you are talking about. There is no uppercase B in FirebaseAuth */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
所以而不是
FireBaseAuth mFireBaseAuth;
做
FirebaseAuth mFirebaseAuth
只是一个简单的错误。当我说我们都这样做时,请相信我!
推荐阅读
- c++ - 函数返回零大小的字符串,即使它的大小不为零
- python - Python 3 中嵌套 For 循环的最大深度是多少?
- python - 图中的python直方图打印bin频率
- java - 无法让我的 Mismatchexception 与 switch 一起正常工作
- android - NestedScrollView(和 ScrollView)不适用于 ConstraintLayout
- html - 在 HTML 上滚动的问题
- javascript - 删除与 ng-repeat 关联的 mongodb 文档会给出“不允许在转发器中重复”
- javascript - Live Server 可以工作,但我收到 localhost 的 404 错误
- sql - 在我的 SQL 查询中,我怎样才能有一个包含从另一个表中查询的值的列?
- python - Dockerizing Scrapy - scrapy 入口点未接收命令参数