I want to return value from the inbuilt void method. How can I do so?
code
public static boolean upload(DatabaseReference reference, String path, String userUid, String value)
{
reference.child(path).setValue(value).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void unused) {
return true;
}
})
return false;
}
Error:
Cannot return a value from a method with void result type
Edit:
Actually, the code that I am currently using which is not readable at all I know is
DatabaseReference reference = mDatabase.getReference().child(FirebaseVar.USERS).child(mUser.getUid());
reference.child(FirebaseVar.NAME).setValue(binding.nameSignUp.getText().toString()).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void unused) {
reference.child(FirebaseVar.ROLE).setValue(selectedRoles).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void unused) {
reference.child(FirebaseVar.BRANCH).setValue(selectedBranch).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void unused) {
reference.child(FirebaseVar.HOSTEL).setValue(selectedHostels).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void unused) {
reference.child(FirebaseVar.GENDER).setValue(checkedbutton.getText().toString()).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void unused) {
Toast.makeText(SignUpDetailActivity.this, "Success", Toast.LENGTH_SHORT).show();
}
});
}
});
}
});
}
});
}
});
SO my question is how to improve my given code?