java我遇到一个错误。(图像文件的Realpath)
我是第一个使用安卓 studio的人,所以我遇到了很多困难。 我想在“多媒体资料”选项卡中创建自己的多媒体资料。 Gallery选项卡是一个片段和gridview。 我获取URI并将其转换为路径。 这些文件在模拟器中。 无意中,realpath是在GALLERY选项卡中查看的,我想在GALLERY选项卡中查看真实图像。 我不知道如何将路径转换为图像文件。 对不起,英语不好
int a = 0;
public String getPath(Uri uri) {
String[] projection = {MediaStore.Images.Media.DATA};
Cursor cursor = getActivity().getContentResolver().query(uri, null, null, null ,null);
int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToPosition(a);
return cursor.getString(columnIndex);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_tab2, container, false);
GridView f1 = view.findViewById(R.id.gridView);
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
Uri[] projection = {MediaStore.Images.Media.EXTERNAL_CONTENT_URI};
Cursor cursor = getActivity().getContentResolver().query(uri, null, null, null ,null);
ArrayList<String> result = new ArrayList<String>();
if(cursor.moveToFirst()){
do{
result.add(getPath(uri));
a++;
}while(cursor.moveToNext());
}
ArrayAdapter<String> arrayadapter = new ArrayAdapter<String>(getContext(), 安卓.R.layout.simple_list_item_1, result);
f1.setAdapter(arrayadapter);
return f1;
}
此代码位于片段文件中
# 1 楼答案
将ImageView作为项目添加到适配器布局中。将Glide库添加到项目中,并使用uri加载图像。 您也可以使用其他图像加载库
查看此链接了解如何使用库和示例https://github.com/bumptech/glide
示例代码
您不能使用ArrayAdapter来实现您想要的。 使用imageView搜索回收视图,您将获得大量示例代码