我有一个画廊 我的画廊里有一些照片,里面有可画画。像这样我首先把这个放入Integer数组中。
Integer stickers_big[] = { R.drawable.stck1, R.drawable.stck2,...}
和我的适配器:
class stickersAdapter extends BaseAdapter {
Context ctx;
public stickersAdapter(FirstActivity act) {
// TODO Auto-generated constructor stub
this.ctx = act;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return stickers_drawable.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView imageview = new ImageView(ctx);
imageview.setImageResource(stickers_drawable[position].intValue());
imageview.setScaleType(android.widget.ImageView.ScaleType.FIT_XY);
return imageview;
}
}
现在我想把我的图片放到资产中。我喜欢这个,我读了我的图像名称,然后把它设置成我的想象。但我只读了一个图像名称。我不知道如何阅读我所有图像的名称并打开它们。
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView imageview = new ImageView(ctx);
AssetManager assetManager = getAssets();
try {
// get input stream
InputStream ims = assetManager.open("stck1.png");
// create drawable from stream
Drawable d = Drawable.createFromStream(ims, null);
// set the drawable to imageview
imageview.setImageDrawable(d);
}
catch(IOException ex) {
}
return imageview;
}
}
How to read ALL of my images then open them?
答案 0 :(得分:1)
现在我想把我的图片放到资产中。
首先将图像保存到图像文件夹中,然后使用这种方式
ReportViewerControl.Winform
答案 1 :(得分:1)
在assets目录中创建子文件夹。使用getAssets()。list()从资产中获取所有文件名:
String[] images =getAssets().list("images");
ArrayList<String> listImages = new ArrayList<String>(Arrays.asList(images));
Now to set image in imageview you first need to get bitmap using image name from assets :
InputStream inputstream=mContext.getAssets().open("images/"
+listImages.get(position));
Drawable drawable = Drawable.createFromStream(inputstream, null);
imageView.setImageDrawable(drawable);
答案 2 :(得分:0)
假设您在资产文件夹中有此层次结构
assets
|__img1
|__img2
|__img3
你可以像这样得到它们
try {
String[] list = getAssets().list("");
for(String img: list ){
//do your stuff here
}
} catch (IOException e) {
e.printStackTrace();
}
如果您在资源中有子文件夹,请将其名称放在list("sub_folder");
您可以在活动中获取此列表,如果您处于片段状态,则必须执行getActivity()getAssets().list("");
。获得图像名称列表后,您可以将其传递给适配器,并可以在getView()
方法w.r.t位置使用它。