`
antkingwei
  • 浏览: 41831 次
  • 性别: Icon_minigender_1
  • 来自: 日照
社区版块
存档分类
最新评论

Android GridView,Gallery动态更新数据

阅读更多



 

 

package com.android.wei.zidingyi.adapter;

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的

 

package com.android.wei.zidingyi.adapter;

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的

 

package com.android.wei.zidingyi.adapter;

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;
	}

}

 还有几个配置文件,就不贴出来了,如果不行在联系我,留言,或者到这个群里来要:150086842

  • 大小: 43.6 KB
  • 大小: 58 KB
分享到:
评论

相关推荐

    Android GridView,Gallery动态更新数据(整理自网络)

    Android GridView,Gallery动态更新数据(整理自网络)

    Android 滑动效果 Gallery + GridView

    本主题主要聚焦于两种常见的滑动组件:Gallery和GridView,它们都是Android SDK中内置的视图组件,常用于展示多张图片或者项目列表。下面我们将深入探讨这两个组件的特性、用法以及如何在实际项目中实现它们的滑动...

    一个简单的相册GridView、Gallery的结合使用

    为了实现两者之间的联动,开发者可能需要监听Gallery的滚动事件,当用户选择新的分类时,更新GridView的数据源。 ** Android后台资源的获取与展示:** 在Android应用中,图片资源可能来自本地存储或者网络。对于...

    android gridView实现自定义gallery

    总的来说,虽然Android原生的Gallery控件有一定的局限性,但通过巧妙地使用GridView和自定义Adapter,我们可以定制出符合需求的滚动视图,实现更丰富的交互体验。这种技术在实际开发中非常实用,尤其是在需要展示一...

    GridView实现Gallery效果

    在Android开发中,GridView是一种常见的布局管理器,它允许我们以网格的形式展示数据集,而Gallery则是一个可以水平滚动的视图,常用于图片或项目的循环浏览。在某些情况下,Gallery的效果可能不尽如人意,这时...

    Gallery+GridView使用的demo

    在Android开发中,`Gallery`和`GridView`是两种常用的布局控件,它们常用于展示图像或数据集合。本示例"Gallery+GridView使用的demo"旨在演示如何在应用程序中有效地结合这两个控件来创建一个图片浏览体验。让我们...

    android控件ListView. GridView.gallery应用

    GridView添加数据源和ListView也是SimpleAdpater 在数据源适配器知识点上面,我们可以自己定义一个数据源适配器,要继承BaseAdapter,实现getView的方法 画廊控件:gallery imageswitch HorizontalScrollView,在一个...

    gridView 实现gallery滑动

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据。而Gallery则是另一种可横向滚动的视图,通常用于显示一系列图片或选项。在某些场景下,开发者可能希望结合GridView和Gallery的...

    Android开发学习笔记 Gallery和GridView浅析

    Android开发中的`Gallery`和`GridView`都是用于展示数据的视图组件,常用于创建图像或者项目的列表。在本文中,我们将深入探讨这两个组件的特性和使用方法。 ### Gallery组件详解 `Gallery`是一个水平滚动的视图,...

    ListView之+GridView+Gallery图片计时滚动

    在Android开发中,ListView、GridView和Gallery是三个非常重要的组件,它们主要用于展示数据集,尤其在处理大量数据的展示时尤为常见。这三个组件都属于ViewGroup,能够动态加载子视图,提供良好的用户体验。 首先...

    Gallery和GridView浅析

    Gallery和GridView是Android开发中用于展示数据的两种控件,它们在界面设计中有着广泛的应用,特别是在图片展示和选择场景下。本文将详细解析这两个控件的特点、用法以及相关属性。 一、Gallery的详解 Gallery控件...

    android4.0 Gallery相册 源代码

    在Android 4.0(API级别14)版本中,Gallery已经被废弃,取而代之的是更强大的GridView和RecyclerView。尽管如此,深入理解Gallery的源代码仍然对开发者来说具有一定的价值,尤其是对于那些需要对旧版应用进行维护或...

    Android照片墙Gallery [源码]

    在Android开发中,"Android照片墙Gallery [源码]"是一个典型的项目,用于展示用户的照片集,类似于手机系统自带的相册应用。这个程序的核心功能是加载和显示图片,同时可能包含一些交互效果,如滑动浏览、缩放等。...

    9. android Gallery(画廊)以及BaseAdapter

    `BaseAdapter`则是Android中用于适配数据源到各种可滚动视图(如ListView、GridView和Gallery)的基础类。 `Gallery`组件的特性: 1. **水平滚动**:与ListView垂直滚动不同,Gallery允许用户水平滑动查看项目。 2....

    Gridview高级使用技巧

    例如,在数据更新或插入时,使用`android.widget.Gallery`的动画效果,或者自定义`Animator`来实现更个性化的动画。 7. **Header和Footer** 如果需要在GridView头部或尾部添加额外的信息或操作按钮,可以通过`...

    android开发,gallery图片切换

    总结来说,`Gallery`图片切换涉及的知识点包括:`Gallery`组件的使用、自定义`Adapter`填充数据、图片加载库(如`Glide`)的使用、以及通过`Handler`实现定时任务来达到自动切换的效果。虽然`Gallery`已不再推荐使用...

    Android 自定义ListView + Gallery 组合

    首先,ListView是Android中用于显示长列表的视图,它可以动态加载数据,避免一次性加载大量内容导致内存消耗过高。自定义ListView通常涉及到以下几个方面: 1. **适配器(Adapter)**:ListView的数据来源通常通过...

    Android Gallery 3D效果

    在Android早期版本中,`Gallery`被广泛用来创建类似相册的3D效果,尽管在API 16之后,它被`GridView`和`RecyclerView`等更灵活的视图替代。然而,通过一些自定义实现,我们仍然可以创建出类似`Gallery 3D`的效果。 ...

    android gallery 3D效果

    然而,随着Android版本的更新,`Gallery`组件在API 16(Android 4.1, Jelly Bean)之后被弃用,取而代之的是`RecyclerView`和`PagerAdapter`等更强大、更灵活的视图管理工具。尽管如此,我们仍可以通过一些技巧来...

    Android基于Gallery实现网络图片和本地图片循环播放

    综上所述,实现Android基于Gallery的网络图片和本地图片循环播放功能,需要结合Adapter、图片加载库、网络请求和数据管理等多个技术点,同时考虑用户体验和性能优化。通过熟练掌握这些知识点,可以打造出流畅且功能...

Global site tag (gtag.js) - Google Analytics