Android GridView显示SD卡的图片

本实例包含一个主layout,含有一个Android GridView,还有一个用于填充GridView一行的layout,最后是重写一个GridView的适配器类。

由于是显示SD卡图片,没有图片id可用,所以需要重写BaseAdapter,而不是SimpleAdapter。

代码如下,很容易看懂。

1.main.xml

2.grid_row.xml

3.java类

public class AndroidTest2_3_3 extends Activity {
	private static final String TAG = "AndroidTest2_3_3";
	private Bitmap bit;
	private String textArray1[] = {"婺源", "丹霞山", "周庄"};
	private String textArray2[] = {"油菜花盛开的地方", "红绿之间,雄壮与温柔", "梦中的水乡"};
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        String imagepath = Environment.getExternalStorageDirectory() + "/abc.jpg";
	    bit = BitmapFactory.decodeFile(imagepath);
	      
        GridView gv=(GridView)this.findViewById(R.id.GridView01);   
        Log.d(TAG, "+++++++++++1");
        ImageAdapter ia = new ImageAdapter(this);
        gv.setAdapter(ia);//为GridView设置数据适配器
        
    }
    
    /**
     * GridView适配器类,创建单元格view
     * @author ameyume
     *
     */
    public class ImageAdapter extends BaseAdapter {
	    private Context mContext;
	    public ImageAdapter(Context context) {
		    Log.d(TAG, "ImageAdapter 1");
	        mContext = context;
	    }
	   
	    public int getCount() { 
	        return textArray1.length;
	    }
	   
	    public Object getItem(int position) {
	        return position;
	    }
	   
	    public long getItemId(int position) {
	        return position;
	    }
	   
	    public View getView(int position, View convertView, ViewGroup parent) {
		    Log.d(TAG, "000000000000000");
		    View view = View.inflate(AndroidTest2_3_3.this, R.layout.grid_row, null);
		    RelativeLayout rl = (RelativeLayout)view.findViewById(R.id.rlGridRow);
		    ImageView image = (ImageView)rl.findViewById(R.id.imageView01);
		    image.setImageBitmap(bit);
		    TextView tv1 = (TextView)rl.findViewById(R.id.txtLink1);
		    tv1.setText(textArray1[position]);
		    TextView tv2 = (TextView)rl.findViewById(R.id.txtLink2);
		    tv2.setText(textArray2[position]);
		    return rl;
	    }
	} 
}

运行效果如图:

Android-GridView显示SD卡的图片

暂无评论
  • 1:请一针见血的评论。
  • 2:评论需要审核通过后才能显示。
  • 3:评论字数限制在1000字以内。
  • 当前字数:0
热门文章
推荐文章
随机文章
关于本站 - 广告服务 - 版权声明 - 联系我们 - 友情链接 - 网站地图 - 帮助中心