Я использую AssetManager для загрузки изображений из ресурсов / изображений, и процесс загрузки прошел успешно, так как я вижу, что все изображения были загружены в галерею, но галерея показывает только рамку, но не изображения, я пробовал разные типы пантомимыPNG, JPG и BMP и не сработало.
это метод, который я загружаю изображения из активов / изображения
private List<String> getImage() throws IOException
{
AssetManager assetManager = getAssets();
String[] files = assetManager.list("image");
List<String> it=Arrays.asList(files);
return it;
}
Это мой imageadapter
public class ImageAdapter extends BaseAdapter
{
/*声明变量*/
private Context mContext;
private List<String> lis;
/*ImageAdapter的构造符*/
public ImageAdapter(Context c,List<String> li)
{
mContext = c;
lis=li;
}
/*几定要重写的方法getCount,传回图片数目*/
public int getCount()
{
return lis.size();
}
/*一定要重写的方法getItem,传回position*/
public Object getItem(int position)
{
return position;
}
/*一定要重写的方法getItemId,传并position*/
public long getItemId(int position)
{
return position;
}
/*几定要重写的方法getView,传并几View对象*/
public View getView(int position, View convertView,
ViewGroup parent)
{
/*产生ImageView对象*/
ImageView i = new ImageView(mContext);
/*设定图片给imageView对象*/
Bitmap bm = BitmapFactory.decodeFile(lis.
get(position).toString());
i.setImageBitmap(bm);
/*重新设定图片的宽高*/
i.setScaleType(ImageView.ScaleType.FIT_XY);
/*重新设定Layout的宽高*/
i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
return i;
}
}
}
и вот как я запускаю галерею
Gallery g = (Gallery) findViewById(R.id.mygallery);
/*新增几ImageAdapter并设定给Gallery对象*/
try {
g.setAdapter(new ImageAdapter(this,getImage()));
} catch (IOException e) {
Log.e("tag", "取得图片失败");
}
logcat печатает без ошибок