java - Get Images from External Storage Image Folder in RecyclerView?
问题描述
I have a folder in my External Storage my folder name is (Whatsapp Sticker). I want to Access all images from this folder when I do.. one image return to length of folder size..How do I get All Images?
This is my Activity where I get All images:
public class CupyActivity extends AppCompatActivity {
RecyclerView recyclerView;
recyclerAdapterCupy recyclerAdapterCupy;
GridLayoutManager layoutManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cupy);
recyclerView = findViewById(R.id.recycler1);
recyclerAdapterCupy = new recyclerAdapterCupy(CupyActivity.this, getData());
recyclerView.setAdapter(recyclerAdapterCupy);
layoutManager = new GridLayoutManager(this, 2);
recyclerView.setLayoutManager(layoutManager);
}
private ArrayList<GetCupy> getData() // this Method return one image again and Again... in my folder 26 images but 1 image return 26times
{
ArrayList<GetCupy> arrayList = new ArrayList<>();
File downloadfile = Environment.getExternalStorageDirectory();
File file = new File(downloadfile + "/Whatsapp Sticker");
GetCupy getCupy = new GetCupy();
if (file.exists())
{
File[] files = file.listFiles();
for (int i = 0; i<files.length; i++)
{
File file1 = files[i];
getCupy.setName(file1.getName());
getCupy.setUri(Uri.fromFile(file1));
Log.d("abcdf", "getData: "+Uri.fromFile(file1));
arrayList.add(getCupy);
Log.d("abc", "getData: "+arrayList);
}
}
return arrayList;
}
}
解决方案
在 for 循环中创建一个 Cupy 数据对象。
private ArrayList<GetCupy> getData()
{
ArrayList<GetCupy> arrayList = new ArrayList<>();
File file = new File(Environment.getExternalStorageDirectory() + "/Whatsapp Sticker");
if (file.exists())
{
File[] files = file.listFiles();
for (int i = 0; i<files.length; i++)
{
getCupy = new GetCupy();
File file1 = files[i];
getCupy.setName(file1.getName());
getCupy.setUri(Uri.fromFile(file1));
Log.d("abcdf", "getData: "+Uri.fromFile(file1));
arrayList.add(getCupy);
Log.d("abc", "getData: "+arrayList);
}
}
return arrayList;
}
推荐阅读
- macos - 从 github 构建项目时,“make”后出现 Clang 错误
- java - 将 HTML div 转换为 Java/JSON 对象?
- node.js - 复选框组件不起作用。(材料用户界面,反应钩形式
- authentication - .net core 5 在 IIS 上如何读取 objectGUID 和电子邮件?
- java - 为什么 HashSet 在 Java 8 和 Java 9+ 中表现不同?
- php - 为什么在 Laravel 5.8 中无法创建目录?
- 3d - 搅拌机凹凸在某个角度消失
- sql-server - 计算 startdate 和 enddate 之间的时间并减去没有工作时间的天数
- zapier - “无效值‘d_129269603057’。未找到值为‘d_129269603057’的‘父’
- apache-spark - 如果架构不正确,是否可以防止附加文件?