改写ListView 实现加载本地图片 非 id

来源:互联网 发布:淘宝店铺层级的排名 编辑:程序博客网 时间:2024/05/18 12:42
[java] view plaincopy
  1. //主Activity  
[java] view plaincopy
  1. import java.io.FileInputStream;  
  2.   
  3. import java.io.FileNotFoundException;  
  4.   
  5. import java.util.ArrayList;  
  6.   
  7. import java.util.HashMap;  
  8.   
  9. import java.util.List;  
  10.   
  11.    
  12.   
  13. import android.app.Activity;  
  14.   
  15. import android.content.Intent;  
  16.   
  17.    
  18.   
  19. import android.graphics.Bitmap;  
  20.   
  21. import android.graphics.BitmapFactory;  
  22.   
  23. import android.os.Bundle;  
  24.   
  25. import android.view.View;  
  26.   
  27. import android.widget.Button;  
  28.   
  29. import android.widget.ListView;  
  30.   
  31. import android.widget.SimpleAdapter;  
  32.   
  33. import android.widget.SimpleAdapter.ViewBinder;  
  34.   
  35. import android.widget.Toast;  
  36.   
  37.    
  38.   
  39. public class TestListView extends Activity {  
  40.   
  41.   
  42. private String sightID;  
  43.   
  44. private Bitmap bmp;  
  45.   
  46.    
  47.   
  48. @Override  
  49.   
  50. protected void onCreate(Bundle savedInstanceState) {  
  51.   
  52. // TODO Auto-generated method stub  
  53.   
  54. super.onCreate(savedInstanceState);  
  55.   
  56. setContentView(R.layout.comment);  
  57.   
  58.   
  59.   
  60. bmp = getLoacalBitmap("/sdcard/image.jpg");  
  61.   
  62. ListView listView = (ListView) findViewById(R.id.listView1);    
  63.   
  64.         MyListAdapter adapter = new MyListAdapter(TestListView.this, getData());  
  65.   
  66.         listView.setAdapter(adapter);    
  67.   
  68.             
  69.   
  70.     }    
  71.   
  72.   public static Bitmap getLoacalBitmap(String url) {  
  73.   
  74.     try {  
  75.   
  76.          FileInputStream fis = new FileInputStream(url);  
  77.   
  78.          return BitmapFactory.decodeStream(fis);  
  79.   
  80.     } catch (FileNotFoundException e) {  
  81.   
  82.          e.printStackTrace();  
  83.   
  84.          return null;  
  85.   
  86.     }  
  87.   
  88.   }  
  89.   
  90.     
  91.   
  92.  // Bitmap bmp = BitmapFactory.decodeFile("/sdcard/1.jpg");  
  93.   
  94.   private List<Commentinfo> getData(){    
  95.   
  96.   ArrayList<Commentinfo> arrayList = new ArrayList<Commentinfo>();    
  97.   
  98.         for(int i=0;i<10;i++){    
  99.   
  100.    
  101.   
  102.             arrayList.add(new Commentinfo(bmp, "用户"+i, "内容"+i));    
  103.   
  104.         }    
  105.   
  106.         return arrayList;    
  107.   
  108.             
  109.   
  110.     }  
  111.   
  112.   
  113.    
  114.   
  115. }  


[java] view plaincopy
  1. //2.Commentinfo.java  
  2. package com.su;  
  3.   
  4.    
  5.   
  6. import android.graphics.Bitmap;  
  7.   
  8.    
  9.   
  10. public class Commentinfo {  
  11.   
  12.   
  13. private Bitmap bitmap;    
  14.   
  15.       
  16.   
  17. private String comment;  
  18.   
  19.     private String user;     
  20.   
  21.     
  22.   
  23.     public Commentinfo(Bitmap bitmap, String user ,String comment ) {    
  24.   
  25.         super();    
  26.   
  27.         this.bitmap = bitmap;  
  28.   
  29.         this.user = user ;  
  30.   
  31.         this.comment = comment;  
  32.   
  33.           
  34.   
  35.     }    
  36.   
  37.     public Bitmap getBitmap() {  
  38.   
  39. return bitmap;  
  40.   
  41. }  
  42.   
  43.    
  44.   
  45. public void setBitmap(Bitmap bitmap) {  
  46.   
  47. this.bitmap = bitmap;  
  48.   
  49. }  
  50.   
  51.    
  52.   
  53. public String getComment() {  
  54.   
  55. return comment;  
  56.   
  57. }  
  58.   
  59.    
  60.   
  61. public void setComment(String comment) {  
  62.   
  63. this.comment = comment;  
  64.   
  65. }  
  66.   
  67.    
  68.   
  69. public String getUser() {  
  70.   
  71. return user;  
  72.   
  73. }  
  74.   
  75.    
  76.   
  77. public void setUser(String user) {  
  78.   
  79. this.user = user;  
  80.   
  81. }  
  82.   
  83. }  
  84.   
  85. 3.Mylistadapter.java  
  86.   
  87. package com.su;  
  88.   
  89. import java.util.List;  
  90.   
  91. import android.app.Activity;  
  92.   
  93. import android.view.LayoutInflater;  
  94.   
  95. import android.view.View;  
  96.   
  97. import android.view.ViewGroup;  
  98.   
  99. import android.widget.BaseAdapter;  
  100.   
  101. import android.widget.ImageView;  
  102.   
  103. import android.widget.TextView;  
  104.   
  105.    
  106.   
  107. public class MyListAdapter extends BaseAdapter {  
  108.   
  109. private Activity context;  
  110.   
  111. private List<Commentinfo> list;  
  112.   
  113.    
  114.   
  115. public MyListAdapter(Activity context, List<Commentinfo> list) {  
  116.   
  117. this.context = context;  
  118.   
  119. this.list = list;  
  120.   
  121. }  
  122.   
  123.    
  124.   
  125. @Override  
  126.   
  127. public View getView(int position, View convertView, ViewGroup parent) {  
  128.   
  129. LayoutInflater inflater = context.getLayoutInflater();  
  130.   
  131. View itemView = inflater.inflate(R.layout.commentchild, null);  
  132.   
  133. Commentinfo info = list.get(position);  
  134.   
  135. TextView textView = (TextView) itemView.findViewById(R.id.itemUser);  
  136.   
  137. TextView textView1 = (TextView) itemView.findViewById(R.id.itemContent);  
  138.   
  139. ImageView imageView = (ImageView) itemView  
  140.   
  141. .findViewById(R.id.profileImage);  
  142.   
  143. textView.setText(info.getUser());  
  144.   
  145. textView1.setText(info.getComment());  
  146.   
  147. imageView.setImageBitmap(info.getBitmap());  
  148.   
  149. return itemView;  
  150.   
  151. }  
  152.   
  153.    
  154.   
  155. @Override  
  156.   
  157. public int getCount() {  
  158.   
  159. return list.size();  
  160.   
  161. }  
  162.   
  163.    
  164.   
  165. @Override  
  166.   
  167. public Object getItem(int position) {  
  168.   
  169. return list.get(position);  
  170.   
  171. }  
  172.   
  173.    
  174.   
  175. @Override  
  176.   
  177. public long getItemId(int position) {  
  178.   
  179. return position;  
  180.   
  181. }  
  182.   
  183. }  


转自:http://blog.csdn.net/sfshine/article/details/7439674
原创粉丝点击