博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android listveiw 嵌套Girdview
阅读量:6851 次
发布时间:2019-06-26

本文共 4105 字,大约阅读时间需要 13 分钟。

hot3.png

需要自定义一个GridView

package com.news;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ListView;import android.widget.TextView;public class MainlistView extends Activity{	private ListView listview;	private List
userlist = new ArrayList
(); private List
userlist2 = new ArrayList
(); MAdapter madapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_list); initView(); initData(); } private void initView(){ listview = (ListView)findViewById(R.id.listview); } private void initData(){ for(int i = 0;i<10;i++){ String s = "刘华兵"+i; userlist.add(s); } for(int i = 0;i<10;i++){ String s = " 海尔兄弟"+i; userlist2.add(s); } madapter= new MAdapter(this); listview.setAdapter(madapter); } class MAdapter extends BaseAdapter{ private Context context; public MAdapter(Context context){ this.context = context; } public int getCount() { return userlist.size(); } public Object getItem(int position) { return userlist.get(position); } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ItemView itemView = null; if (convertView == null) { convertView = LayoutInflater.from(context).inflate(R.layout.list_item, null); itemView = new ItemView(); itemView.itemText = (TextView)convertView.findViewById(R.id.itemText); itemView.grideview = (MyGridView)convertView.findViewById(R.id.grideview); convertView.setTag(itemView); }else{ itemView = (ItemView)convertView.getTag(); } String s = userlist.get(position); itemView.itemText.setText(s); NAdapter n = new NAdapter(MainlistView.this); itemView.grideview.setAdapter(n); return convertView; } class ItemView{ public TextView itemText; public MyGridView grideview; } } class NAdapter extends BaseAdapter{ private Context context; public NAdapter(Context context){ this.context = context; } public int getCount() { return userlist2.size(); } public Object getItem(int position) { return userlist2.get(position); } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ItemView itemView = null; if (convertView == null) { convertView = LayoutInflater.from(context).inflate(R.layout.list_view_itemimg, null); itemView = new ItemView(); itemView.items = (TextView)convertView.findViewById(R.id.items); convertView.setTag(itemView); }else{ itemView = (ItemView)convertView.getTag(); } String s = userlist2.get(position); itemView.items.setText(s); return convertView; } class ItemView{ public TextView items; } } }

MyGridView

package com.news;import android.content.Context;import android.util.AttributeSet;import android.widget.GridView;public class MyGridView extends GridView {         public MyGridView(Context context, AttributeSet attrs) {             super(context, attrs);         }             public MyGridView(Context context) {             super(context);         }             public MyGridView(Context context, AttributeSet attrs, int defStyle) {             super(context, attrs, defStyle);         }             @Override         public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {                 int expandSpec = MeasureSpec.makeMeasureSpec(                     Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);             super.onMeasure(widthMeasureSpec, expandSpec);         }     }
两个xml代码如下:

list_item.xml

list_view_itemimg.xml

转载于:https://my.oschina.net/xiahuawuyu/blog/120847

你可能感兴趣的文章
解决vagrant ssh登录时permission deny的问题
查看>>
Dapper,大规模分布式系统的跟踪系统
查看>>
Spring源码之XMLBeanFactory
查看>>
PopupWindow 点击外部区域无法关闭的问题
查看>>
jQuery 遍历
查看>>
开源的丰富的flutter Icons库
查看>>
内存管理Release和Retain实现原理
查看>>
(JVM 笔记)Java虚拟机:Java 内存管理
查看>>
一分钟读懂兼容报告——行业对标数据助你定位产品状况
查看>>
Axure RP 7.0从入门到精通 Web+APP产品经理原型设计 彩色pdf扫描版
查看>>
点击H5页面的时候出现阴影
查看>>
js实现一个按照权重抽奖函数
查看>>
Java程序员必会的13种热门技能
查看>>
HTTP请求详解
查看>>
企业分布式微服务云SpringCloud SpringBoot mybatis (六)分布式配置中心(Spring Cloud Config)...
查看>>
java B2B2C springmvc mybatis多租户电子商城系统-(四)断路器(Hystrix)
查看>>
Spring Boot2.0 整合 Kafka
查看>>
Jackson异常情况处理
查看>>
Windows Server 2008R2 ADRMS 群集部署SOP
查看>>
squid+iptables实现透明代理
查看>>