GridView用法和ListView用法基本一致,这里实现了一个选择照片的gridview功能。
先来看下效果吧!
实现也十分简单,一个android工程中包括2个.java文件和2个.xml文件
先看代码
MainActivity.java
package com.example.gridviewdemo;
import java.util.ArrayList;
import java.util.List;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
public class MainActivity extends Activity {
private GridView gridView;
private List<Photo> photoList;
private PhotoAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
/*
* 初始化函数
*/
private void initView(){
getPhotoData();//保存数据
gridView = (GridView)findViewById(R.id.gridview);
adapter = new PhotoAdapter(this, photoList);
gridView.setAdapter(adapter);
/*
* 点击某张图片响应
*/
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
photoList.get(position).setOppositeCheck();//点击后将状态取反
adapter.notifyDataSetChanged();//刷新界面
}
});
}
/*
* 将数据显示的数据,图片保存进list
*/
private void getPhotoData(){
int drawables [] ={R.drawable.p0,R.drawable.p1,R.drawable.p2,R.drawable.p3,
R.drawable.p4,R.drawable.p5,R.drawable.p6,R.drawable.p7,R.drawable.p8,
R.drawable.p9,R.drawable.p10,R.drawable.p11,R.drawable.p12,R.drawable.p13,
R.drawable.p14,R.drawable.p15,R.drawable.p16,R.drawable.p17,R.drawable.p18,