Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 图像未显示在ImageView上_Android_Imageview - Fatal编程技术网

Android 图像未显示在ImageView上

Android 图像未显示在ImageView上,android,imageview,Android,Imageview,图像未显示在图像视图中。我可以选择图像或为新图像拍照,但图像不会显示在ImageView中 public class RequestQuoteFragment extends Fragment { ImageButton mPostImage; ImageView imageView; private EditText mDescription, mWidth, mLength, mHeight; Integer REQUEST_CAMERA = 1, SELECT_FILE = 2; @

图像未显示在
图像视图中。我可以选择图像或为新图像拍照,但图像不会显示在
ImageView

public class RequestQuoteFragment extends Fragment {


ImageButton mPostImage;
ImageView imageView;
private EditText mDescription, mWidth, mLength, mHeight;
Integer REQUEST_CAMERA = 1, SELECT_FILE = 2;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_request_quotes, container, false);

    imageView = view.findViewById(R.id.image_view);

    mDescription = view.findViewById(R.id.item_description);
    mWidth = view.findViewById(R.id.width);
    mLength = view.findViewById(R.id.length);
    mHeight = view.findViewById(R.id.height);

    mPostImage = view.findViewById(R.id.attach_file);
    mPostImage.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            attachFile();
        }
    });

    getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

    return view;

}

//Attach Activity to fragments
private Context mContext;
@Override
public void onAttach(final Activity activity) {
    super.onAttach(activity);
    mContext = activity;
}

private void attachFile() {
    final CharSequence[] items = {"Camera", "Gallery", "Cancel"};

    AlertDialog.Builder builder;
    builder = new AlertDialog.Builder(mContext);
    builder.setTitle("Add Image");
    builder.setItems(items, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
            if(items[i].equals("Camera")) {

                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(intent, REQUEST_CAMERA);

            } else if (items[i].equals("Gallery")) {

                Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                intent.setType("image/*");
                startActivityForResult(intent.createChooser(intent,"Select Photo"), SELECT_FILE);

            } else if (items[i].equals("Cancel")) {
                dialogInterface.dismiss();
            }
        }
    });
    builder.show();
}

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


    if (requestCode == Activity.RESULT_OK) {
        if (requestCode == REQUEST_CAMERA) {

            Bundle bundle = data.getExtras();
            final Bitmap bitmap = (Bitmap) bundle.get("data");
            imageView.setImageBitmap(bitmap);

        } else if (requestCode == SELECT_FILE) {

            Uri selectImageUri = data.getData();
            imageView.setImageURI(selectImageUri);


        }
    }
}

//reset fields
private void resetFields() {
    //UniversalImageLoader.setImage("", mPostImage);
    mDescription.setText("");
    mWidth.setText("");
    mLength.setText("");
    mHeight.setText("");
}

}

这个对我有用

Intent getIntent = new Intent(Intent.ACTION_GET_CONTENT).setType("image/*");

Intent pickIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
pickIntent.setType("image/*");

Intent chooserIntent = Intent.createChooser(getIntent, "Select Profile Image");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] {pickIntent});

startActivityForResult(chooserIntent, AppConstants.PICK_IMAGE);

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == Activity.RESULT_OK && requestCode == AppConstants.PICK_IMAGE)
    {
        image.setImageURI(data.getData());
    }
}
已编辑

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == Activity.RESULT_OK && requestCode == AppConstants.PICK_IMAGE)
    {
        image.setImageURI(data.getData());
    }
}
否则

startActivityForResult(intent.createChooser(intent,“选择照片”),选择_文件)

换行

startActivityForResult(Intent.createChooser(intent,"Select Photo"), SELECT_FILE); 

代码中有一个小错误,您必须检查,resultCode==Activity.RESULT\u OK,而不是requestCode==Activity.RESULT\u OK

希望这对你的问题有帮助。谢谢

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


    if (resultCode == Activity.RESULT_OK) {
        if (requestCode == REQUEST_CAMERA) {

            Bundle bundle = data.getExtras();
            final Bitmap bitmap = (Bitmap) bundle.get("data");
            imageView.setImageBitmap(bitmap);

        } else if (requestCode == SELECT_FILE) {

            Uri selectImageUri = data.getData();
            imageView.setImageURI(selectImageUri);


        }
    }
}

使用Glide加载图像如下所示:

您可以使用其他库,如Glide吗?他们两个都不工作,效率高吗?是否使用断点检查位图值?两个断点都不工作@matio我如何使用Glide库?我是android新手。