Android 加载从SD卡特定文件夹获取iimage时发生致命错误

Android 加载从SD卡特定文件夹获取iimage时发生致命错误,android,imageview,android-sdcard,fatal-error,Android,Imageview,Android Sdcard,Fatal Error,我在sqlite数据库表中有图像名称。在迭代光标获取图像名称并尝试逐个获取图像以显示时。TableLayouts、TableRow和ImageView是通过编程方式创建的。读取某些图像后,会发生致命异常,应用程序崩溃。提出任何解决问题的建议 Cursor cursor = GlobalClass.db.getCursor("FBPMGPT as a,FBMRMMT as b", new String[] {"a.MenuGroup,a.Description,b.ItemCode,b.ItemN

我在sqlite数据库表中有图像名称。在迭代光标获取图像名称并尝试逐个获取图像以显示时。TableLayouts、TableRow和ImageView是通过编程方式创建的。读取某些图像后,会发生致命异常,应用程序崩溃。提出任何解决问题的建议

Cursor cursor = GlobalClass.db.getCursor("FBPMGPT as a,FBMRMMT as b", new String[] {"a.MenuGroup,a.Description,b.ItemCode,b.ItemName,b.ItemRate"},"a.MenuGroup=b.MenuGroup and b.RestaurantCode='" + GlobalClass.RESTAURANT_CODE + "'", "a.MenuGroup,b.ItemName"); cursor.moveToFirst(); TableLayout tablelayout = new TableLayout(thisActivity) if(!cursor.isAfterLast()) { do { TableRow tablerow = new TableRow(thisActivity); ////////////Image to item get here based on item code//////////////////// imageView = getItemImageView(thisActivity, thisContext, cursor.getString(2)); imageView.setPadding(10, 10, 10, 10); imageView.setTag(cursor.getString(2)); imageView.setBackgroundResource(R.drawable.border); tablerow.addView(imageView); tablelayout.addView(tablerow); } while (cursor.moveToNext()); cursor.close(); } public ImageView getItemImageView(Activity activity, Context context, String s) { String Foldername="ImageFolder" String s2=""; ImageView imageview; String s1 = Environment.getExternalStorageDirectory()+"/"+Foldername+"/"+s.trim().toString(); if (fileExists(s1+".JPG")) s2 = s1+".JPG".toString(); else if (fileExists(s1+".PNG")) s2 = s1+".PNG".toString(); else s2 = ""; imageview = new ImageView(context); if (!s2.equals("")) { Bitmap bitmap=BitmapFactory.decodeFile(s2); Bitmap bm=bm.createScaledBitmap(bitmap,100,100, true); imageview.setImageBitmap(bm); } else { imageview.setImageResource(R.drawable.noimagefound); imageview.setAdjustViewBounds(true); } imageview.setMaxWidth(GlobalClass.BUTTON_GLOBAL_ITEM_IMAGE_WIDTH); imageview.setMaxHeight(GlobalClass.BUTTON_GLOBAL_ITEM_IMAGE_HEIGHT); return imageview; } Cursor Cursor=GlobalClass.db.getCursor(“FBPMGPT作为a,FBMRMMT作为b”,新字符串[]{“a.MenuGroup,a.Description,b.ItemCode,b.ItemName,b.ItemRate”},“a.MenuGroup=b.MenuGroup和b.RestaurantCode=”+“GlobalClass.RESTAURANT_CODE+”,“a.MenuGroup,b.ItemName”); cursor.moveToFirst(); TableLayout TableLayout=新建TableLayout(此活动) 如果(!cursor.isAfterLast()) { 做 { TableRow TableRow=新的TableRow(此活动); ////////////根据项目代码在此处获取项目的图像//////////////////// imageView=getItemImageView(thisActivity,thisContext,cursor.getString(2)); 设置填充(10,10,10,10); setTag(cursor.getString(2)); imageView.setBackgroundResource(R.drawable.border); tablerow.addView(imageView); tablelayout.addView(tablerow); }while(cursor.moveToNext()); cursor.close(); } 公共ImageView getItemImageView(活动活动、上下文上下文、字符串s) { String Foldername=“ImageFolder” 字符串s2=“”; 图像视图图像视图; 字符串s1=Environment.getExternalStorageDirectory()+“/”+Foldername+“/”+s.trim().toString(); 如果(文件存在(s1+“.JPG”)) s2=s1+“.JPG”.toString(); else if(文件存在(s1+“.PNG”)) s2=s1+“.PNG”.toString(); 其他的 s2=“”; imageview=新的imageview(上下文); 如果(!s2.等于(“”) { 位图位图=位图工厂.decodeFile(s2); 位图bm=bm.createScaledBitmap(位图,100100,真); 设置图像位图(bm); }否则 { setImageResource(R.drawable.noimagefound); imageview.setAdjustViewBounds(true); } imageview.setMaxWidth(全局类按钮\全局项\图像\宽度); imageview.setMaxHeight(全局类按钮\全局项\图像\高度); 返回图像视图; }
您得到了什么错误(堆栈跟踪)?听起来可能是内存问题,但请包含代码或错误消息。请查找附加的代码