Android(安卓)GridView,Gallery动态更新数据
16lz
2021-12-04
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()]; }@Overridepublic int getCount() {// TODO Auto-generated method stubreturn listItems.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic 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); //设置空间集到convertViewconvertView.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() {@Overridepublic 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 stubreturn menuList.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic 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() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(context, "触发成功", Toast.LENGTH_SHORT).show();}});return convertView;}}
还有几个配置文件,就不贴出来了,如果不行在联系我,留言,或者到这个群里来要:150086842
更多相关文章
- Android(安卓)5中样式对话框
- android 百度地图SDK 获得详细路线信息
- Android(安卓)时间滚轴
- Android(安卓)之 ProgressDialog用法介绍
- android WebView解析 调用html5页面
- Android全透明Activity示例
- android中的Handler
- android WebView onJsAlert onJsConfirm
- Android(安卓)webView中调用JavaScript