您的位置:首页 > 其它

BaseAdapter GridView 用法

2014-07-15 10:35 204 查看
<?xml version="1.0" encoding="utf-8"?>

<GridView xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent" 

    android:id="@+id/gridView"

    android:numColumns="auto_fit"

    android:gravity="center"

    android:horizontalSpacing="10dp"

    android:verticalSpacing="10dp"

    android:stretchMode="columnWidth"

    android:columnWidth="90dp" />

package com.example.demo_03_gridview;

import android.content.Context;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.GridView;

import android.widget.ImageView;

//Android BaseAdapter已经实现了ListAdapter和SpinnerAdapter的接口,

//而GridView的适配器是实现了ListAdapter接口,只不过是二维的

//所以说BaseAdapter对他们三者来说是通用的

public class ImageAdapter extends BaseAdapter {

private Context mContext;

// 构造函数
public ImageAdapter(Context mcContext) {
super();
this.mContext = mcContext;
}

//定义整数数组,即图片数据源
private Integer[] mImages = {
R.drawable.img1,
R.drawable.img2,
R.drawable.img3,
R.drawable.img4,
R.drawable.img5,
R.drawable.img6,
R.drawable.img7
};
@Override
public int getCount() {
// TODO Auto-generated method stub
return mImages.length;
}

@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}

@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
//返回一个view显示到界面
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {

// arg0就是位置从0开始,arg1是Spinner,ListView中每一项要显示的view

        // 通常return 的view也就是arg1
// parent就是父窗体了,也就是Spinner,ListView,GridView了.

ImageView imageView;
if(arg1 == null){
imageView = new ImageView(mContext);//给imageview设置资源
imageView.setLayoutParams(new GridView.LayoutParams(100, 100));//设置布局 图片(100,100)显示
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);//设置显示比例类型
}else {
imageView = (ImageView) arg1;
}
imageView.setImageResource(mImages[arg0]);
return imageView;
}

package com.example.demo_03_gridview;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.GridView;

import android.widget.Toast;

public class MainActivity extends Activity {

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

GridView gridView = (GridView) findViewById(R.id.gridView);
gridView.setAdapter(new ImageAdapter(this));
gridView.setBackgroundResource(R.drawable.bg0);

gridView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {

DisplayToast("你单击了"+arg2+1+"图片");

}
});
}
public void DisplayToast(String str){
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  BaseAdapter GrigView