问题描述
我正在尝试显示uri中的图像。我选择特定图像,然后将图像的Uri存储在Realm数据库中。那很好。但是我无法在数据适配器中显示图像。下面是我的选择图像功能和onBindViewHolder。要在RecyclerView中显示图像,我正在使用毕加索,而Uri以String的形式存储在Realm数据库中。
private void ChooseImage(){
try {
setimage = findViewById(R.id.imageGoal);
FloatingActionButton chooseImage = findViewById(R.id.floatingActionButtonAddImage);
chooseImage.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent,SELECTED_PHOTO);
}
});
}catch (Exception ex){
Toast.makeText(this,"Something was wrong"+ex.getMessage(),Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onActivityResult(int requestCode,int resultCode,@Nullable Intent data) {
super.onActivityResult(requestCode,resultCode,data);
if(requestCode==SELECTED_PHOTO&& resultCode==RESULT_OK && data !=null && data.getData()!= null){
uri= data.getData();
try{
Bitmap bitmap = MediaStore.Images.Media.getBitmap(MainActivity.this.getContentResolver(),uri);
setimage.setimageBitmap(bitmap);
if(setimage.getDrawable()!=null){
setimage.setVisibility(View.VISIBLE);
}
} catch (IOException e) {
e.printstacktrace();
}
}
}
@Override
public void onBindViewHolder(GoalViewHolder holder,int position) {
NewGoalModel goal = goalList.get(position);
Uri uri= Uri.parse(goal.getimageUri());
File file= new File(Objects.requireNonNull(uri.getPath()));
Picasso.get().load(file).into(holder.imageGoal);
}
这是保存的Uri值的示例:content://com.google.android.apps.photos.contentprovider/-1/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F24/ORIGINAL/NONE/992367815
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)