【问题标题】:How take a picture with a Fragment (Android Studio)如何使用 Fragment 拍照(Android Studio)
【发布时间】:2016-11-21 10:22:02
【问题描述】:

我正在尝试在图库中拍照,所以我知道在 Activity 中执行此操作,我使用 Intent 调用图库,并使用 onActivityResult 获取路径,但是当我使用 Fragment 时,我无法使用“ onActivityResult”,有人可以举一个使用 Fragment 和 CustomDialog 的例子吗?

【问题讨论】:

标签: android android-studio android-fragments android-intent


【解决方案1】:

在你的片段中写下这段代码

Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            // ******** code for crop image
            i.putExtra("crop", "true");
            i.putExtra("aspectX", 100);
            i.putExtra("aspectY", 100);
            i.putExtra("outputX", 256);
            i.putExtra("outputY", 356);

            try {

                i.putExtra("return-data", true);
                startActivityForResult(
                        Intent.createChooser(i, "Select Picture"), 0);
            }catch (ActivityNotFoundException ex){
                ex.printStackTrace();
            }

在你的片段的Main Activity上写这段代码onActivityResult

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode==0 && resultCode == Activity.RESULT_OK){
        try {
            Bundle bundle = data.getExtras();
            Bitmap bitmap = bundle.getParcelable("data");
            img_user.setImageBitmap(bitmap);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

试试这个,它应该可以工作。如果正确,请不要忘记接受答案。

【讨论】:

  • 在你的片段的主要活动中 ???? fragment 不包含 Activity ...如果多个 Activity 使用此 Fragment 怎么办?
  • 每个 Fragment 都有自己的 Parent Activity。您必须在初始化片段的 Activity 中编写此方法。
  • 非常感谢,我会试试的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-03
  • 2021-06-09
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
相关资源
最近更新 更多