android的GridView显示网络图片的方法 .

来源:互联网 发布:sift 算法编程原理 编辑:程序博客网 时间:2024/05/16 15:25

首先Activity.java的写法如下

[java] view plaincopyprint?
  1. package com.lujianfei.active;  
  2.   
  3.    
  4. import java.util.ArrayList;  
  5. import java.util.HashMap;  
  6.   
  7. import android.app.Activity;  
  8. import android.graphics.Bitmap;  
  9. import android.os.Bundle;  
  10. import android.view.View;  
  11. import android.widget.GridView;  
  12. import android.widget.ImageView;  
  13. import android.widget.SimpleAdapter;  
  14. import android.widget.SimpleAdapter.ViewBinder;  
  15.   
  16. import com.lujianfei.data.IData;  
  17. import com.lujianfei.data.IDataFactory;  
  18. import com.lujianfei.util.BitmapHelper;  
  19.   
  20.   
  21. public class VideoprojActivity extends Activity {  
  22.       
  23.     IData data = null;  
  24.     IDataFactory dataFactory = null;  
  25.       
  26.     GridView gridview = null;    
  27.     
  28.   
  29.     /** Called when the activity is first created. */  
  30.     @Override  
  31.     public void onCreate(Bundle savedInstanceState) {  
  32.         super.onCreate(savedInstanceState);  
  33.         setContentView(R.layout.videoproj_gridview_layout);  
  34.         gridview = (GridView) findViewById(R.id.gridview);      
  35.           
  36.           
  37.         ArrayList<HashMap<String,Object>> list=new ArrayList<HashMap<String,Object>>();    
  38.         HashMap<String,Object> map=null;    
  39.            
  40.          
  41.             
  42.         for(int i=0;i<3;i++)    
  43.         {    
  44.         map=new HashMap<String,Object>();    
  45.         map.put("ItemImage",BitmapHelper.getBitmap("http://192.168.1.119:8080/strutsproj/upload/type1.jpg"));    
  46.         map.put("ItemText","ItemText"+i);    
  47.         list.add(map);    
  48.         }    
  49.         SimpleAdapter adapter = new SimpleAdapter(this,list,R.layout.videoproj_gridview_item_layout,new String[]{"ItemImage","ItemText"},new int[]{R.id.ItemImage,R.id.ItemText});    
  50.         adapter.setViewBinder(new ViewBinder(){    
  51.     
  52.           public boolean setViewValue(View view, Object data,     
  53.                   String textRepresentation) {     
  54.                 //判断是否为我们要处理的对象       
  55.                 if(view instanceof ImageView && data instanceof Bitmap){     
  56.                   ImageView iv = (ImageView) view;     
  57.                   iv.setImageBitmap((Bitmap) data);     
  58.                   return true;     
  59.                 }else     
  60.                 return false;     
  61.               }     
  62.     
  63.         
  64.       });    
  65.   
  66.         gridview.setAdapter(adapter);      
  67.   
  68.     }  
  69.        
  70. }  

 

核心类 BitmapHelper.java

[java] view plaincopyprint?
  1. package com.lujianfei.util;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.InputStream;  
  5. import java.net.HttpURLConnection;  
  6. import java.net.MalformedURLException;  
  7. import java.net.URL;  
  8.   
  9. import android.graphics.Bitmap;  
  10. import android.graphics.BitmapFactory;  
  11.   
  12. public class BitmapHelper {  
  13.     public static Bitmap getBitmap(String imageUrl) {  
  14.         Bitmap mBitmap = null;  
  15.         try {  
  16.             URL url = new URL(imageUrl);  
  17.             HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
  18.             InputStream is = conn.getInputStream();  
  19.             mBitmap = BitmapFactory.decodeStream(is);  
  20.   
  21.         } catch (MalformedURLException e) {  
  22.             e.printStackTrace();  
  23.         } catch (IOException e) {  
  24.             e.printStackTrace();  
  25.         }  
  26.   
  27.         return mBitmap;  
  28.     }  
  29.   
  30. }  


 


videoproj_gridview_layout.xml

[html] view plaincopyprint?
  1. <?xml version="1.0" encoding="utf-8"?>      
  2. <GridView xmlns:android="http://schemas.android.com/apk/res/android"       
  3.     android:id="@+id/gridview"      
  4.     android:layout_width="fill_parent"       
  5.     android:layout_height="fill_parent"      
  6.     android:numColumns="auto_fit"      
  7.     android:verticalSpacing="10dp"      
  8.     android:horizontalSpacing="10dp"      
  9.     android:columnWidth="90dp"      
  10.     android:stretchMode="columnWidth"      
  11.     android:gravity="center"      
  12. />    


 

videoproj_gridview_item_layout.xml

[html] view plaincopyprint?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="wrap_content"  
  5.     android:paddingBottom="4dip" >  
  6.   
  7.     <ImageView  
  8.         android:id="@+id/ItemImage"  
  9.         android:layout_width="wrap_content"  
  10.         android:layout_height="wrap_content"  
  11.         android:layout_centerHorizontal="true" >  
  12.     </ImageView>  
  13.   
  14.     <TextView  
  15.         android:id="@+id/ItemText"  
  16.         android:layout_width="wrap_content"  
  17.         android:layout_height="wrap_content"  
  18.         android:layout_below="@+id/ItemImage"  
  19.         android:layout_centerHorizontal="true"  
  20.         android:text="TextView01" >  
  21.     </TextView>  
  22.   
  23. </RelativeLayout>  

 

运行效果如下

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩锁骨骨裂怎么办 小孩子不爱写作业怎么办 小孩不交作业怎么办 小孩子不喜欢写作业怎么办 实行两票制 一品红会怎么办 跳舞之后浑身疼怎么办 事业编体检怀孕怎么办 辞职后报到证怎么办 学生早上起床困怎么办 延期毕业报到证怎么办 学校报到证丢失怎么办 生育险不满一年怎么办 产假结束上班宝宝怎么办 辞职后生育津贴怎么办 员工要不到工资怎么办 试用期不发工资怎么办 单位不给探亲假怎么办 工作5.5天周六怎么办 不爱运动的幼儿怎么办 总跟孩子生气怎么办 小孩经常感冒发烧怎么办 家里出现皮球虫怎么办 第一天教幼儿园怎么办 幼师遇到家长投诉怎么办 小孩喜欢玩手机怎么办 幼师掐孩子胳膊怎么办 孩子喜欢抓人怎么办 小孩顽皮不听教怎么办 出现了心理异常怎么办 想问下心理出问题该怎么办 大班幼儿爱说话怎么办 孩子不喜欢去幼儿园怎么办 别人抢宝宝玩具怎么办 新生儿抱淘气了怎么办 野兔子吃葵花怎么办 烫伤了怎么办安全反思 安全教案触电了怎么办 烫伤了怎么办儿歌导入 生病了怎么办教学反思 大班安全《烫伤了怎么办》 安全教案热了怎么办