大家好,希望你帮助我,我的问题如下:
- 我有两种类型的帐户一个用于客户,另一个用于药剂师
- 客户在火药店有一个与药剂师相同的收藏品
- 我想将客户端重定向到他的主要活动,并将药剂师重定向到他的主要活动,因为这些活动与我为客户和其他药剂师创建的活动不同。
问题是如何在登录后将其重定向到自己的活动中
[药剂师火炉] [1]:https://i.stack.imgur.com/nSyXB.png
[客户端防火墙] [1]:https://i.stack.imgur.com/rF7Zl.png
这是我的登录活动代码:
mSignin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email=mEmail.getText().toString();
String password=mPassword.getText().toString();
if(TextUtils.isEmpty(email) || TextUtils.isEmpty(password)){
Toast.makeText(LoginActivity.this, "SVP remplissez tous les
champs", Toast.LENGTH_SHORT).show();
}
if(!TextUtils.isEmpty(email) && !TextUtils.isEmpty(password)){
mProgressbarlog.setVisibility(View.VISIBLE);
mAuth.signInWithEmailAndPassword(email,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
String user_id = FirebaseAuth.getInstance().getUid();
mFirestore.collection("Clients").document(user_id).get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
String type = documentSnapshot.getString("Type");
if (type == "Client") {
sendToMain();
mProgressbarlog.setVisibility(View.INVISIBLE);
} else {
sendTOMainPH();
mProgressbarlog.setVisibility(View.INVISIBLE);
}
}
});
}
else {
Toast.makeText(LoginActivity.this, "Erreur:
"+task.getException().getMessage(), Toast.LENGTH_SHORT).show();
mProgressbarlog.setVisibility(View.INVISIBLE);
}
}
} );
}
}
}
);
}
答案 0 :(得分:1)
您收到NullPointerException
,因为type
对象的值为null
。您确定user_id
是否正确?
另外,根据您的评论,您的代码中还有另一个错误。对于字符串,您应该使用equals()
方法来比较它们而不是==
,它用于比较基元而不是String对象。因此,您需要更改以下代码行:
if (type == "Client") {}
到
if (type.equals("Client") {}