onActivityResult not called in fragment android

android, fragment

Solution

Override `onActivityResult` in parent Activity i.e. parent of all fragment

Problem

This is my code to take picture from gallery. ``` public class FragmentLayout1 extends Fragment implements OnClickListener { View root; Context c; Button add_image; DialogAddImage image; RelativeLayout layout_image; String path; RunAnimations anima; public void setContext(Context c){ this.c = c; Constants con = new Constants(c); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { anima = new RunAnimations(); image = new DialogAddImage((Activity) c); Bundle bun = new Bundle(); path = bun.getString("path"); root = inflater.inflate(R.layout.layout_1, container, false); add_image = (Button)root.findViewById(R.id.button2); add_image.setOnClickListener(this); layout_image = (RelativeLayout)root.findViewById(R.id.layout_image); if(!TextUtils.isEmpty(path)){ Log.e("path", path); Drawable d = Drawable.createFromPath(path); layout_image.setBackground(d); } return root; } @Override public void onClick(View v) { // TODO Auto-generated method stub anima.loadAnimationView(c, R.anim.alpha_button, v); if(v == add_image){ image.showDialog(); } } //============= fungsi untuk menerima hasil pilihan user dalam kotak dialog ambil gambar============= @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Log.e("result", "Result"); new ImageResult((Activity) c).resultOfImage(requestCode, resultCode, data, image.getUri(), false); } ``` in method on click , I've button add_image. add_image will show a dialog for user to take picture from camera or gallery And this is my dialog code ``` public class DialogAddImage{ private Activity c; private Uri mImageCaptureUri; private Dialog dialog; AnimasiActivity aa; Button camera, galeri; public DialogAddImage(Activity c){ this.c = c; aa = new AnimasiActivity(c); setDialog(); } //untuk mendapatkan uri yang menyimpan informasi path file image public Uri getUri(){ return mImageCaptureUri; } @SuppressWarnings("deprecation") private void setDialog(){ dialog = new Dialog(c); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.dialog_add_image); dialog.getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(0)); camera = (Button) dialog.findViewById(R.id.button1); galeri = (Button)dialog.findViewById(R.id.button2); //kalo user pilih dari kamera camera.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { hideDialog(); Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); String file_name = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date()); File file = new File(Constants.path_image +file_name + ".jpg"); mImageCaptureUri = Uri.fromFile(file); intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageCaptureUri); try { intent.putExtra("return-data", true); intent.putExtra("mImageCaptureUri", mImageCaptureUri); aa.startForwardForResult(intent, Constants.PICK_FROM_CAMERA); } catch (Exception e) { e.printStackTrace(); } } }); //kalo user pilih dari galery galeri.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { hideDialog(); Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); aa.startForwardForResult(intent, Constants.PICK_FROM_FILE); } }); } public void showDialog(){ dialog.show(); } public void hideDialog(){ dialog.dismiss(); } } ``` But when I've choose image from gallery , this image not showing in my fragment. And method onActivityResult never called, but why??? any solution , please

Original source

Related problems