android - startActivityForResult 在 Fragment 中不起作用

标签 android android-fragments

我目前正在使用 Fragment。我想从图库中选择图像并将其显示在 fragment 类上。但是这里的 startActivityForResult() 在 Fragment 中不起作用。

我的 fragment 类

Button loadimage=(Button) view.findViewById(R.id.loadButton);
    loadimage.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
             startActivityForResult(i, RESULT_LOAD_IMAGE);
        }
    });
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
        Uri selectedImage = data.getData();
        String[] filePathColumn = { MediaStore.Images.Media.DATA };

        Cursor cursor = getActivity().getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
        cursor.moveToFirst();

        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String picturePath = cursor.getString(columnIndex);
        cursor.close();
        imgview.setImageBitmap(BitmapFactory.decodeFile(picturePath));

    }

    }

最佳答案

在 Activity 类中:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode,resultCode,data);
}

在 fragment 中:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
    //  Handle activity result here  
}

开始 fragment 结果的 Activity :

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1); 

关于android - startActivityForResult 在 Fragment 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21826761/

相关文章:

android - 配置更改后恢复 fragment 的对象引用

android API TabActivity 弃用

java - 屏幕旋转时出现异常: Parcel: Class not found when unmarshalling: androidx.fragment.app.FragmentManagerState

android - 什么时候在android中使用不推荐使用的方法是合适的

android - 从 Google 照片应用程序中选择照片时,无法将结果 ResultInfo 传递给 Activity

java - Intent 并不总是按预期工作

android - 从 Fragment 调用 startActivityForResult 不会调用 onActivityResult

java - Fragment 白页上的 RecyclerView

android - 用最少的代码在 Ice Cream Sandwich 中制作安卓标签的正确方法

java - 在 Android 应用程序中放置数据库连接的位置