gpt4 book ai didi

java - 来自 Fragment 内部适配器的 startActivityForResult

转载 作者:搜寻专家 更新时间:2023-11-01 07:46:01 24 4
gpt4 key购买 nike

我有一个 fragment ,我在里面填充了一个RecyclerView,一个帖子包含一个相机,我需要在拍照时获取它带来的信息。我不知道该怎么做。

请帮忙。

这是我的代码:

PostAdapter.java

        public HeaderViewHolder (View itemView) {
super (itemView);
this.mCamera = (ImageView) itemView.findViewById(R.id.ivCamera);
mCameraPhoto = new CameraPhoto(itemView.getContext());
this.mCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
((Activity) v.getContext()).startActivityForResult(mCameraPhoto.takePhotoIntent(), CAMERA_REQUEST_ASIST);
}catch (Exception e){
Log.e("Error camera permission", e.getMessage());
}
}
});
}

MainActivity.java

    @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
String photoPath = mCameraPhoto.getPhotoPath();
for (Fragment fragment : getSupportFragmentManager().getFragments()) {
fragment.onActivityResult(requestCode, resultCode, data);

Log.d("Result in fragment",":D --> "+photoPath);
}

}

MyFragment.java

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d("Result in fragment",":D");
}

最佳答案

将 fragment 传递给 PostAdapter 的构造函数。

class PostAdapter {
private Fragment fragment;

public PostAdapter(Fragment fragment) {
this.fragment = fragment;
}
}

然后在点击里面

this.mCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
fragment.startActivityForResult(mCameraPhoto.takePhotoIntent(), CAMERA_REQUEST_ASIST);
}catch (Exception e){
Log.e("Error camera permission", e.getMessage());
}
}
});

关于java - 来自 Fragment 内部适配器的 startActivityForResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44120907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com