Android 从gridview中的sd卡/文件夹加载图像

Android 从gridview中的sd卡/文件夹加载图像,android,image,gridview,dynamic,Android,Image,Gridview,Dynamic,我想从我的android应用程序中的sd卡或任何特定文件夹加载图像,并显示一个对话框onClick我尝试用下面的代码执行此操作,但应用程序意外停止。以及main.xml的内容,请帮助。提前感谢 public class ImageAdapter extends BaseAdapter { private Context mContext; private Bitmap[]mis_fotos; public ImageAdapter(Context c) { mContext = c;

我想从我的android应用程序中的sd卡或任何特定文件夹加载图像,并显示一个对话框
onClick

我尝试用下面的代码执行此操作,但应用程序意外停止。
以及
main.xml

的内容,请帮助。提前感谢

public class ImageAdapter extends BaseAdapter {

private Context mContext;
private Bitmap[]mis_fotos;

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

public int getCount() {
    get_images();
    return mis_fotos.length;
    }

public Object getItem(int position) {
    return null;    }

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

public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView;
    if (convertView == null) {
        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(200, 150));
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setPadding(0, 0, 0, 0);
    } else {
        imageView = (ImageView) convertView;
    }
    imageView.setImageBitmap(mis_fotos[position]);
    return imageView;
}

private void get_images(){
    File directory = new File(Variables.PATH_FOTOS);   

    File[] archivos =directory.listFiles();
    mis_fotos= new Bitmap[archivos.length];

    for (int cont=0; cont<archivos.length;cont++){

        File imgFile = new  File(archivos[cont].toString());                
        mis_fotos[cont] = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
    }   
}
}
公共类ImageAdapter扩展了BaseAdapter{
私有上下文;
私有位图[]mis_fotos;
公共图像适配器(上下文c){
mContext=c;}
public int getCount(){
获取图像();
返回mis_fotos.length;
}
公共对象getItem(int位置){
返回null;}
公共长getItemId(int位置){
返回0;}
公共视图getView(int位置、视图转换视图、视图组父视图){
图像视图图像视图;
if(convertView==null){
imageView=新的imageView(mContext);
setLayoutParams(新的GridView.LayoutParams(200150));
imageView.setScaleType(imageView.ScaleType.CENTER\U裁剪);
setPadding(0,0,0,0);
}否则{
imageView=(imageView)convertView;
}
setImageBitmap(mis_fotos[position]);
返回图像视图;
}
私有void获取_图像(){
文件目录=新文件(Variables.PATH\u FOTOS);
文件[]archivos=directory.listFiles();
mis_fotos=新位图[archivos.length];

对于(int cont=0;cont)您的应用程序中有活动类吗?是的。我有一个大的应用程序,但为此,我尝试在单独的应用程序中创建网格。这就是为什么活动在应用程序中。