繁体   English   中英

如何在 android 中显示图像?

[英]How to display image in android?

我在显示图像时遇到问题,问题是 glide 无法处理来自存储文件路径(uri)的图像,有人可以帮我吗?

这是我的代码

TextView browsefile, filename;
ImageView gambar;
int RequestFile = 2;
Context mContext;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    browsefile = findViewById(R.id.browsefile);
    filename = findViewById(R.id.filename);
    gambar = findViewById(R.id.gambarfile);
    mContext = MainActivity.this;

    browsefile.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            startOptionBrowseFile();
        }
    });


}

private void startOptionBrowseFile() {
    Intent openFileIntent = new Intent(Intent.ACTION_GET_CONTENT);
    openFileIntent.setType("*/*");
    startActivityForResult(openFileIntent, RequestFile);

}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == RequestFile && resultCode == RESULT_OK && data != null){
        Uri selectedFile = data.getData();


        File path = new File(selectedFile.getPath());

        path.mkdirs();
        Glide.with(mContext).load(path).into(gambar);
        
        filename.setText(selectedFile.getPath());


    }
}

更新,我找到了解决方案,我尝试使用 Bitmap 及其工作,

Bitmap bitmap = null;
        try {
            bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(),selectedFile);
            Glide.with(mContext).load(bitmap).diskCacheStrategy(DiskCacheStrategy.NONE)
                    .skipMemoryCache(true)
                    .into(gambar);
        } catch (IOException e) {
            e.printStackTrace();
        }

这就是错误在此处输入图像描述

Glide.with(mContext)
.load(new File(selectedFile.getPath())) 
.into(gambar);

尝试这个:

Glide.with(mContext).load(selectedFile.getPath()).into(gambar);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM