gridview 显示sdcard中图片的问题

//参考代码  http://blog.csdn.net/a_asinceo/article/details/7582584  不过有些地方不是很理解  就按自己的写了  程序没问题 但是为什么显示同一张图片?明明有好几张图片
public class MainActivity extends Activity {
private int Position= 0; 
private String fileName = null;
        private String suffix = null;
        private File sdcardDir=null;
private List<HashMap<String, String>>  picFiles = new ArrayList<HashMap<String,String>>();
private HashMap<String,String> pic = new HashMap<String, String>();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallyshow);

boolean isSDExist=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
if(isSDExist){//如果Sdcard存在执行下面的
      sdcardDir=Environment.getExternalStorageDirectory();
      String sdPath = sdcardDir.toString();
      System.out.println(sdPath);
      File file = new File(sdPath);
      File[] files = file.listFiles();
      
      for(int i=0;i<files.length;i++)
      {  if(files[i].isFile()){itIsfile(files[i]);}
      
        else{ itNotfile(files[i]);}
      }}
}

     
private void itIsfile(File file) {
// TODO Auto-generated method stub
  fileName = file.getName();
  Position=fileName.indexOf(".");
  GridView gridView = (GridView)findViewById(R.id.gridview);
  String[]from = { "image"};
          int[]to = {R.id.ItemImage }; 
          if(Position>0){
  suffix=fileName.substring(Position+1);
  if(suffix.equals("jpg")||suffix.equals("png")){
     if(file.length()>2000){
     System.out.println(fileName);
     System.out.println(file.getPath());
    // System.out.println("文件大小为"+file.length());
     pic.put("image", file.getPath());//把文件路径放到中
     picFiles.add(pic);
   }
     SimpleAdapter adapter = new SimpleAdapter(this,picFiles,R.layout.imageitem1,from,to);
     gridView.setAdapter(adapter);
   }
 }
 }
          private void itNotfile(File file) {
// TODO Auto-generated method stub
File[] files = file.listFiles();
    if(files==null){return;}
for(int i=0;i<files.length;i++)
      {  if(files[i].isFile()){itIsfile(files[i]);}
      
         if(!files[i].isFile()){itNotfile(files[i]);}
      }
 }

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值