android - 安卓按钮无响应
问题描述
我正在尝试使用 firebase 创建一个登录应用程序,但我在注册方面和设计方面遇到了问题。当我构建和运行我的应用程序时,它构建和启动都很好,但是当我在模拟器上使用该应用程序并单击注册按钮时,该按钮没有响应。我可以单击按钮,但未激活 onClickListener。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registration);
setupUIViews();
mAuth = FirebaseAuth.getInstance();
sign.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (validate() ) {
String user_email = email.getText().toString().trim();
String user_Password = pass.getText().toString().trim();
registerUser(user_email, user_Password);
}
}
});
already.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Registration.this, Login.class));
}
});
}
public void registerUser(String x, String y){
mAuth.createUserWithEmailAndPassword(x, y)
.addOnCompleteListener(Registration.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Toast.makeText(Registration.this, "Registration Complete", Toast.LENGTH_SHORT).show();
startActivity(new Intent(Registration.this, Login.class));
} else {
Toast.makeText(Registration.this, "Registration failed" + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
}
private void setupUIViews() {
user = (EditText) findViewById(R.id.editText5);
email = (EditText) findViewById(R.id.Email);
pass = (EditText) findViewById(R.id.etPassword);
phone = (EditText) findViewById(R.id.Pnumber);
first = (EditText) findViewById(R.id.FirstName);
last = (EditText) findViewById(R.id.LastName);
sign = (Button) findViewById(R.id.button15);
already = (TextView) findViewById(R.id.textView);
}
private Boolean validate(){
Boolean result = false;
String name = first.getText().toString();
String email1 = email.getText().toString();
String username = user.getText().toString();
String lastt = last.getText().toString();
String password = pass.getText().toString();
String phone1 = phone.getText().toString();
if (name.isEmpty() || email1.isEmpty() || lastt.isEmpty() ||
password.isEmpty() || phone1.isEmpty() || username.isEmpty()) {
Toast.makeText(Registration.this, "Please Fill in all fields ", Toast.LENGTH_SHORT).show();
} else {
result = true;
}
return result;
}
}
当我将 google play 添加到我的模拟器时,这个问题就开始了。在此之前,我的登录按钮只会生成我嵌入到验证功能中的错误消息。签名按钮应该调用验证函数,然后在我的 firebase 应用程序中创建一个新用户。当我检查我的 logcat 时,我收到了这个错误:
17856-17889/com.example.habib.linx E/FirebaseInstanceId: Google Play services missing or without correct permission.
解决方案
推荐阅读
- elasticsearch - Elasticsearch 仅匹配标签数组中给定的标签
- css - 为什么“z-index”被忽略了?元素只是部分向前
- html - 如何使用 flexbox 不填充最后一行的空间
- sql - 如果条件为 TRUE 连续(即分组)
- regex - 如何更改此正则表达式以验证没有国际前缀的电话号码?
- python - 使用服务布局功能运行多个 Dash 应用程序
- javascript - 如何将输入值传递给 Cypher 查询?
- nodes - 在 OSMNX 中对节点/交叉点应用权重
- javascript - 使用 RequireJS 加载 ApexCharts 时遇到问题
- java - 为什么java流程序比嵌套for循环花费更多时间?