帮助器类上的java重写方法
好的,所以我试图创建一个单独的助手类,它将有许多不同活动中使用的方法,以避免重复代码
我遇到了一个问题。我试图输入startActivityForResult,如果我将活动作为参数传递给该方法,我就可以这样做。但我不知道如何在这个助手类上@Override onActivityResult
这可能吗?如果没有,应该如何解决?我不想在10个不同的活动中写同样的活动结果
编辑:显示有问题的代码
我正在使用firebase,这是我希望在ActivityResult上重复的代码
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == RC_PHOTO_PICKER && resultCode == RESULT_OK){
Uri selectedImageUri = data.getData();
final StorageReference photoRef = mChatPhotosStorageReference.child(selectedImageUri.getLastPathSegment());
Task<Uri> urlTask = photoRef.putFile(selectedImageUri).continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
if(!task.isSuccessful()) {
throw task.getException();
} else {
return photoRef.getDownloadUrl();
}
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if(task.isSuccessful()){
Uri downloadUri = task.getResult();
FriendlyMessage friendlyMessage =
new FriendlyMessage(null, mUsername, downloadUri.toString());
mMessagesDatabaseReference.push().setValue(friendlyMessage);
} else {
Toast.makeText(getApplicationContext(), "Failure", Toast.LENGTH_LONG).show();
}
}
});
}
}
这是startActivityForResult的代码
mPhotoPickerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/jpeg");
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
startActivityForResult(Intent.createChooser(intent, "Complete action using"), RC_PHOTO_PICKER);
}
});
我还计划使用Firebase AuthUI,这将需要使用onActivityResult
共 (0) 个答案