J'ai un fragment et j'ai rempli un RecyclerView, un poste contient un appareil photo et j'ai besoin de prendre les informations qu'il apporte lorsque je prends la photo. Je ne sais pas comment le faire.startActivityForResult de l'adaptateur à l'intérieur du fragment
Aidez-nous s'il vous plaît.
ce code est mi:
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");
}
où placer le fragment id? –
Lorsque vous créez un fragment, vous le faites comme ceci =====> transaction.replace (R.id.content, fragment, "fragmetTAg"); transaction.commit(); Ensuite, vous pouvez obtenir une instance du fragment en utilisant getFragmentByTag() –