Android 从gridview中的sd卡/文件夹加载图像
我想从我的android应用程序中的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;
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)您的应用程序中有活动类吗?是的。我有一个大的应用程序,但为此,我尝试在单独的应用程序中创建网格。这就是为什么活动在应用程序中。