[英]Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter settings
[英]java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull
我使用进度按钮库https://github.com/leandroBorgesFerreira/LoadingButtonAndroid登录按钮,当我试图通过单击 firebase 中的此按钮来创建用户时,我收到以下错误
i found same error here java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull but i am not able to get it
java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter bitmap
at br.com.simplepass.loadingbutton.customViews.CircularProgressButton.doneLoadingAnimation(Unknown Source:2)
at com.choudhary.apnidukan.LoginActivity$1$1.onComplete(LoginActivity.java:82)
我的登录活动
public class LoginActivity extends AppCompatActivity {
EditText email, password, confirmpassword;
FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
firebaseAuth = FirebaseAuth.getInstance();
final CircularProgressButton btn = (CircularProgressButton) findViewById(R.id.btn_id);
email = findViewById(R.id.edit_text_email);
password = findViewById(R.id.edit_text_password);
confirmpassword = findViewById(R.id.edit_confirmPassword);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (TextUtils.isEmpty(email.getText().toString())) {
email.setError("Email is must");
return;
}
if (TextUtils.isEmpty(password.getText().toString())) {
password.setError("Password is must");
return;
}
if (TextUtils.isEmpty(confirmpassword.getText().toString())) {
confirmpassword.setError("Password not Matched");
return;
}
if (!password.getText().toString().trim().equals(confirmpassword.getText().toString().trim())) {
confirmpassword.setError("Password not matched");
return;
}
String EMAIL = email.getText().toString();
String PASSWORD = password.getText().toString();
btn.startAnimation();
final Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_baseline_check_24);
firebaseAuth.createUserWithEmailAndPassword(EMAIL, PASSWORD).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
btn.doneLoadingAnimation(R.color.colorPrimaryDark, bitmap);
Intent in = new Intent(LoginActivity.this, mainDrawerActivity.class);
startActivity(in);
finish();
} else {
btn.revertAnimation();
Toast.makeText(LoginActivity.this, task.getException().getLocalizedMessage(), Toast.LENGTH_SHORT).show();
btn.stopAnimation();
}
}
});
}
});
}
}
Returned Bitmap is null at final Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_baseline_check_24);
. 这就是为什么你在btn.doneLoadingAnimation(R.color.colorPrimaryDark, bitmap);
. 要从drawable
对象中获得正确bitmap
,您可以使用以下方法。 喜欢:
public static Bitmap drawableToBitmap (Drawable drawable) {
Bitmap bitmap = null;
if (drawable instanceof BitmapDrawable) {
BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
if(bitmapDrawable.getBitmap() != null) {
return bitmapDrawable.getBitmap();
}
}
if(drawable.getIntrinsicWidth() <= 0 || drawable.getIntrinsicHeight() <= 0) {
bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); // Single color bitmap will be created of 1x1 pixel
} else {
bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
}
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return bitmap;
}
并在 firebase 回调方法中调用上述方法。 喜欢:
firebaseAuth.createUserWithEmailAndPassword(EMAIL, PASSWORD).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Create Bitmap here------------------
Bitmap bitmap = drawableToBitmap(getResources().getDrawable(R.drawable.ic_baseline_check_24));
btn.doneLoadingAnimation(R.color.colorPrimaryDark, bitmap);
Intent in = new Intent(LoginActivity.this, mainDrawerActivity.class);
startActivity(in);
finish();
} else {
btn.revertAnimation();
Toast.makeText(LoginActivity.this, task.getException().getLocalizedMessage(), Toast.LENGTH_SHORT).show();
btn.stopAnimation();
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.