是)我有的
我在活动中有一个“打开图像对话框”。此“对话框”仅显示文件夹和兼容图像。为此,我有一个带有 gridview 的图层,我用包含图像和文本的行填充。
文本用于文件名,图像用于图像预览。
我的问题
如果我看到的文件夹没有很多图像,则该对话框运行良好。我正在研究 SII,当我尝试打开相册(8Mpx 的照片)时,我的代码运行速度非常慢,即使每次重绘新行也是如此。
我的代码
我认为主要问题在于预览图像的创建,因为如果我删除这部分一切正常。对于图像,我有:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View grid;
if(convertView==null){
grid = new View(mContext);
LayoutInflater inflater=getLayoutInflater();
grid=inflater.inflate(R.layout.row, parent, false);
}else{
grid = (View)convertView;
}
ImageView icon = (ImageView)grid.findViewById(R.id.file_image);
TextView label = (TextView)grid.findViewById(R.id.file_text);
label.setText(item.get(position));
if (item.get(position).equals("/")){
icon.setImageResource(R.drawable.folderupup);
}else if (item.get(position).endsWith("../")) {
icon.setImageResource(R.drawable.folderup);
}else if (item.get(position).endsWith("/")) {
icon.setImageResource(R.drawable.folder);
}else{
Bitmap b = BitmapFactory.decodeFile(path.get(position));
Bitmap b2 = Bitmap.createScaledBitmap(b, 55, 55, false);
icon.setImageBitmap(b2);
}
return grid;
}
}