`

android GridView

阅读更多

主类

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

分享到:
评论

相关推荐

    android Gridview分页实现

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据。当我们处理大量数据时,分页加载可以提高应用性能,减少内存消耗,并提供更好的用户体验。本篇文章将详细讲解如何在Android中利用...

    android gridview分页和滑动效果

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似相册、应用列表等场景。本教程将详细讲解如何实现GridView的分页和滑动效果。 首先,我们需要了解GridView...

    Android GridView使用例子

    在Android开发中,GridView是一个非常常用的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似照片墙、应用快捷方式或者菜单等界面。在这个"Android GridView使用例子"中,我们将深入探讨如何有效地利用...

    android gridview多选删除

    在Android开发中,GridView是一种常用的布局控件,它允许数据以网格的形式展示,通常用于创建类似照片库或应用列表的界面。"android gridview多选删除"是一个专题,主要涉及如何实现GridView中的多选功能,并支持...

    Android GridView分组带下拉刷新

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格形式展示数据,通常用于创建类似相册或应用列表的界面。在这个“Android GridView分组带下拉刷新”的主题中,我们将深入探讨如何实现一个功能丰富...

    AndroidGridView点击每一个图片进入个人页面渐变特效.zip

    这个"AndroidGridView点击每一个图片进入个人页面渐变特效.zip"压缩包包含的资源可能是一个示例项目,展示了如何在GridView中实现点击图片后平滑过渡到个人详情页面的特效。以下是对这个主题的详细说明: 1. **...

    android GridView 简单计算器

    在Android开发中,GridView是一种非常常用的布局控件,它允许我们以网格的形式展示数据,非常适合用来构建诸如照片墙、菜单列表等应用场景。在这个"android GridView 简单计算器"项目中,开发者巧妙地利用GridView...

    Android GridView

    **Android GridView详解** Android GridView是Android开发中常用的一种布局组件,它允许我们以网格的形式展示数据,常用于创建像照片库、菜单项选择等多列显示的界面。GridView继承自AbsListView,支持滚动和触摸...

    android gridview 加载大量图片。无OOM

    在Android开发中,GridView是一种常见的布局控件,用于展示多行多列的列表,常用于图片、文件等的网格化展示。然而,当GridView需要加载大量图片时,如果不妥善处理,很容易导致内存溢出(Out-Of-Memory,简称OOM)...

    android GridView数据库开发案例

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于创建如应用图标、照片库或菜单等界面。在这个"android GridView数据库开发案例"中,我们将深入探讨如何将GridView与...

    android gridview adapter 实例

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示大量数据,通常用于创建如应用图标、照片墙或者菜单等界面。在这个"android gridview adapter 实例"中,我们将深入探讨如何使用...

    android GridView长按拖动,删除

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据。在许多应用中,用户可能需要对GridView中的元素进行交互操作,比如长按拖动和删除。这个例子就是关于如何在Android的GridView中...

    android gridview上图下字

    ### Android GridView 实现上图下文布局的知识点详解 #### 一、理解GridView 在Android开发中,`GridView`是一种常用的视图组件,用于展示列表形式的数据,特别适合用来显示等宽等高的图像集合,例如相册应用中的...

    android Gridview 异步加载网络图片

    在Android开发中,GridView是一种常见的布局控件,用于展示数据集,通常以网格形式排列。在GridView中异步加载网络图片是一项重要的技能,特别是在构建图片丰富的应用如相册或社交媒体应用时。本示例适用于API级别17...

    android gridview 九宫格 动态添加信息

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似九宫格的效果。这种布局方式非常适合显示多张图片、图标或小图标配以文字的信息,就像许多手机应用中常见的那样...

    Android GridView + ViewFlipper布局界面,模仿“机锋市场.rar

    在Android开发中,GridView和ViewFlipper是两个非常重要的组件,它们可以被用来构建丰富的用户界面。本项目“Android GridView + ViewFlipper布局界面,模仿“机锋市场”旨在教你如何利用这两个组件来创建类似应用...

    Android GridView 多标题分组显示,上下拉刷新,convertview可重用

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似相册、应用列表等界面。本教程将重点讨论如何实现“Android GridView的多标题分组显示”以及“上下拉刷新”功能...

    Android GridView显示系统安装的应用程序

    在Android开发中,GridView是一种常见的布局控件,用于展示数据集,通常以网格形式排列,每个网格单元格显示一个项目。在"Android GridView显示系统安装的应用程序"这个主题中,我们将探讨如何使用GridView来列出...

    Android GridView + ViewFlipper布局界面,模仿“机锋市场.

    "Android GridView + ViewFlipper布局界面,模仿“机锋市场”"这个项目旨在教你如何利用这两种布局组件构建类似“机锋市场”的多列展示效果和动态切换功能。接下来,我们将深入探讨这两个关键组件以及它们在实现该...

    android gridview demo

    在Android开发中,GridView是一种非常重要的布局控件,它允许我们以网格的形式展示数据,通常用于创建像照片墙、应用快捷方式或者菜单等界面。在本篇内容中,我们将深入探讨`android gridview demo`的相关知识点,...

Global site tag (gtag.js) - Google Analytics