ListView +Girdview 的一个列表
来源:互联网 发布:油漆品牌 知乎 编辑:程序博客网 时间:2024/06/05 03:03
截图
是这样的一个效果
下面的代码 列子在下面附上 布局文件就不上传了 没啥东西 大家看看引用自己建立一个吧 或者直接下载DEMO
package com.example.groplistview;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.view.LayoutInflater;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.Adapter;import android.widget.AdapterView;import android.widget.AdapterViewFlipper;import android.widget.ArrayAdapter;import android.widget.GridView;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity { private GroupListAdapter adapter = null; private ListView listView = null; private List<Object> list = new ArrayList<Object>(); private List<String> listTag = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setData(); adapter = new GroupListAdapter(this, list, listTag); listView = (ListView)findViewById(R.id.group_list); listView.setAdapter(adapter); } /*************************************模拟数据*******************************************************/ public void setData(){ list.add("A"); listTag.add("A"); list.add(initdateA()); list.add("B"); listTag.add("B"); list.add(initdateB()); list.add("C"); listTag.add("C"); list.add(initdateC()); } public static ArrayList<HashMap<String, Object>> initdateA(){ ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>(); for(int i=0;i<4;i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("ItemImage", R.drawable.ic_launcher);//添加图像资源的ID map.put("ItemText", "AO."+String.valueOf(i));//按序号做ItemText lstImageItem.add(map); } return lstImageItem; } public static ArrayList<HashMap<String, Object>> initdateB(){ ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>(); for(int i=0;i<4;i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("ItemImage", R.drawable.ic_launcher);//添加图像资源的ID map.put("ItemText", "B."+String.valueOf(i));//按序号做ItemText lstImageItem.add(map); } return lstImageItem; } public static ArrayList<HashMap<String, Object>> initdateC(){ ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>(); for(int i=0;i<4;i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("ItemImage", R.drawable.ic_launcher);//添加图像资源的ID map.put("ItemText", "c."+String.valueOf(i));//按序号做ItemText lstImageItem.add(map); } return lstImageItem; } /****************************************模拟数据 结束*************************************************************/ /******************************** 适配器 **************************************************************/ private static class GroupListAdapter extends ArrayAdapter<Object>{ private List<String> listTag = null; private GridView gridView; public GroupListAdapter(Context context, List<Object> objects, List<String> tags) { super(context, 0, objects); this.listTag = tags; } //取消LISTVIEW的点击事件 点了没反应 @Override public boolean isEnabled(int position) { if(listTag.contains(getItem(position))){ return false; } return super.isEnabled(position); } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; if(listTag.contains(getItem(position))){ view = LayoutInflater.from(getContext()).inflate(R.layout.group_list_item_tag, null); TextView textView = (TextView) view.findViewById(R.id.group_list_item_text); textView.setText(getItem(position).toString());//tag }else{ view = LayoutInflater.from(getContext()).inflate(R.layout.group_list_gd_item, null);//内容布局 gridView = (GridView) view.findViewById(R.id.gridView1); //gridView 适配器 这里只是个简单的适配下 SimpleAdapter saImageItems = new SimpleAdapter(getContext(), (ArrayList<HashMap<String, Object>>)getItem(position), R.layout.night_item, new String[] {"ItemImage","ItemText"}, new int[] {R.id.ItemImage,R.id.ItemText}); gridView.setAdapter(saImageItems); gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {Toast.makeText(getContext(), getName(arg0.getAdapter().getItem(arg2)), 100).show();} }); } return view; } public static String getName(Object obj ){ HashMap<String, Object> map =( HashMap<String, Object> )obj; return map.get("ItemText").toString(); } }}
DEMO下载地址 http://download.csdn.net/detail/u010386438/6858759
0 0
- ListView +Girdview 的一个列表
- Android二级分类列表ListView GirdView in ViewPager
- 一个listview列表的展示
- listview嵌套girdview问题
- listview嵌套girdview问题
- 关于Listview、Girdview的setSelection无效的解决方法与解析
- ListView / GirdView Adpater的getView方法,首项多次调用
- Android低阶 【chapter-7】GirdView和ListView常用的东西
- Android girdView/listView item 高度设置无效的解决方法
- ViewStub用于ListView和GirdView
- Android二级分类列表GirdView
- 注册一个 长按listView的item弹出选择列表
- 利用convertView优化ListView和GirdView的性能 (Adapter的使用)
- Girdview的使用
- android-----GirdView的使用
- GirdView的学习
- ListView列表的用法
- ListView的列表显示
- 使用javascript生成验证码
- 回复的回复电话给附近一冬天热一天热一点和会飞的
- 堆和栈的区别
- 数据中心是智慧城市的发展核心
- 呼叫保持
- ListView +Girdview 的一个列表
- spl_autoload_register()函数的作用
- [Leetcode] Reverse Linked List II (Java)
- gcc 或clang调试时No symbol "foo" in current context.
- ActionBar
- 一些常用软件静默安装参数(nsis,msi,InstallShield ,Inno)
- (转)Android二维码生成与识别
- onMeasure
- 编辑公式