主类
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Gallery;
import android.widget.GridView;
import java.util.*;
public class MyActivity extends Activity {
private Gallery gallery;
private GridView gridView;
private ImageAdapter listViewAdapter;
public static ImageAdapterView imageAdapterView;
private List<Map<String,Object>> listItems;
private Integer[] imgeIDs = {
R.drawable.niao,R.drawable.niao,R.drawable.rui,R.drawable.rui,
R.drawable.ning,R.drawable.ning
};
private String[] goodsNames={
"","","","",
"",""
};
private String[] goodsDetails={
"", "", "",
"", "", "",
};
private int[] money={
2,3,3,10,8,13
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/**全屏显示**/
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
gridView=(GridView) this.findViewById(R.id.gridView1);
imageAdapterView = new ImageAdapterView(this);
gridView.setAdapter(imageAdapterView);
gallery = (Gallery) this.findViewById(R.id.gallery1);
listItems = getListItems();
listViewAdapter = new ImageAdapter(this,listItems);
gallery.setAdapter(listViewAdapter);
}
private List<Map<String,Object>> getListItems(){
List<Map<String,Object>> listItems = new ArrayList<Map<String,Object>>();
for(int i=0;i<goodsNames.length;i++){
Map<String,Object> map = new HashMap<String,Object>();
map.put("image", imgeIDs[i]);
map.put("title", goodsNames[i]);
map.put("info", money[i]+"元");
listItems.add(map);
}
return listItems;
}
}
[代码] Gallery
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.*;
public class ImageAdapter extends BaseAdapter{
private Context context;
private List<Map<String,Object>> listItems;
private LayoutInflater listContainer;
private boolean[] hasChecked;
public final class ListItemView{
public ImageView image;
public TextView title;
public TextView info;
public Button add;
}
public ImageAdapter(Context context,List<Map<String,Object>> listItems){
this.context = context;
listContainer = LayoutInflater.from(context);
this.listItems = listItems;
hasChecked = new boolean[getCount()];
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return listItems.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int selectId = position;
ListItemView listItemView = null;
if(convertView ==null){
listItemView = new ListItemView();
convertView = listContainer.inflate(R.layout.list_item, null);
//获得控件对象
listItemView.image =(ImageView) convertView.findViewById(R.id.imageitem);
listItemView.title =(TextView) convertView.findViewById(R.id.textview);
listItemView.info =(TextView) convertView.findViewById(R.id.textview1);
listItemView.add =(Button) convertView.findViewById(R.id.button1);
//设置空间集到convertView
convertView.setTag(listItemView);
}else{
listItemView = (ListItemView) convertView.getTag();
}
//设置文字图片
listItemView.image.setBackgroundResource((Integer)listItems.get(position).get("image"));
listItemView.title.setText((String)listItems.get(position).get("title"));
listItemView.info.setText((String) listItems.get(position).get("info"));
listItemView.add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Map<String,Object> map = new HashMap<String,Object>();
map.put("image", listItems.get(selectId).get("image"));
ImageAdapterView.menuList.add(map);
MyActivity.imageAdapterView.notifyDataSetChanged();
}
});
return convertView;
}
}
[代码] GridView
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.Toast;
import java.util.*;
public class ImageAdapterView extends BaseAdapter{
private Context context;
private LayoutInflater layoutInflater;
public static List<Map<String,Object>> menuList = new ArrayList<Map<String,Object>>();
public static class ItemListView{
public ImageButton image;
}
public ImageAdapterView(Context context){
this.context = context;
layoutInflater = LayoutInflater.from(context);
}
public int getCount() {
// TODO Auto-generated method stub
return menuList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ItemListView itemListView = null;
if(convertView==null){
itemListView = new ItemListView();
convertView = layoutInflater.inflate(R.layout.item_list1, null);
itemListView.image=(ImageButton) convertView.findViewById(R.id.menuImage);
convertView.setTag(itemListView);
}else {
itemListView=(ItemListView)convertView.getTag();
}
itemListView.image.setBackgroundResource((Integer)menuList.get(position).get("image"));
itemListView.image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(context, "触发成功", Toast.LENGTH_SHORT).show();
}
});
return convertView;
}
}
转自: http://www.oschina.net/code/snippet_203635_7589