有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

帮助器类上的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) 个答案