gpt4 book ai didi

android - 动态加载 Assets 文件夹中的所有图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:55:14 27 4
gpt4 key购买 nike

我正在构建一个当前从可绘制文件夹中读取图像的应用程序。由于我不能在可绘制对象中包含子文件夹,因此我必须在 Assets 文件夹中创建子文件夹并从那里加载图像。有什么方法可以创建 ListArrayList包含 Assets 子文件夹中的所有图像??

我的代码是这样的:

public class ImageAdapter extends BaseAdapter {

private Context mContext;

// Keep all Images in array
public Integer[] mThumbIds = {
R.drawable.pic_2,
R.drawable.pic_3, R.drawable.pic_4,
R.drawable.pic_5, R.drawable.pic_6,
R.drawable.pic_7, R.drawable.pic_8,
R.drawable.pic_9, R.drawable.pic_10,
R.drawable.pic_11, R.drawable.pic_12,
R.drawable.pic_13, R.drawable.pic_14,
R.drawable.pic_15
};

// Constructor
public ImageAdapter(Context c){
mContext = c;
}

@Override
public int getCount() {
return mThumbIds.length;
}

@Override
public Object getItem(int position) {
return mThumbIds[position];
}

@Override
public long getItemId(int position) {
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mThumbIds[position]);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setLayoutParams(new GridView.LayoutParams(250, 400));
return imageView;
}

}

而不是 Integer[]我想要一个List<String>或 Assets 子文件夹中的类似内容

有什么想法吗???

最佳答案

Is there any way that i can create a List or an ArrayList with all the images from the assets subfolder??

是的,在 assets 中创建子文件夹目录。使用 getAssets().list(<folder_name>)从 Assets 中获取所有文件名:

String[] images =getAssets().list("images");
ArrayList<String> listImages = new ArrayList<String>(Arrays.asList(images));

现在要在 imageview 中设置图像,您首先需要使用 Assets 中的图像名称获取位图:

InputStream inputstream=mContext.getAssets().open("images/"
+listImages.get(position));
Drawable drawable = Drawable.createFromStream(inputstream, null);
imageView.setImageDrawable(drawable);

关于android - 动态加载 Assets 文件夹中的所有图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28277210/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com