ListView多类型Item
来源:互联网 发布:淘宝上怎么出售qq号码 编辑:程序博客网 时间:2024/05/18 14:27
在这里做了一个小demo,实现一个ListView中包含多种Item。
首先,建立一个继承自BaseAdapter的类,在里面重写如下方法。
1 获取ListView的Item个数 --->getCount()
@Overridepublic int getCount() {// TODO Auto-generated method stubreturn mData.size();}
2 根据Item位置设置Item View Type ---->getItemViewType(int position)
@Overridepublic int getItemViewType(int position) {// TODO Auto-generated method stubif (getItem(position) instanceof String)return 1;elsereturn 0;}
3 获取ListView中想要的Item类型个数 ---->getViewTypeCount()
@Overridepublic int getViewTypeCount() {// TODO Auto-generated method stubreturn 2;}
4 按Item位置获取当前Item的对象Object ---->getItem(int position)
@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn mData.get(position);}5 最后得修改非常重要的一个方法,该方法主要为了获得View ---->getView(int position, View convertView, ViewGroup parent)@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubLog.e("position", "" + position);int nType = getItemViewType(position);if (nType == 1)convertView = mInflater.inflate(R.layout.list_item, null);elseconvertView = mInflater.inflate(R.layout.list_item2, null);return convertView;}
全部代码package com.example.testlist;import java.util.ArrayList;import android.app.Activity;import android.content.Context;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;public class NewAdapter extends BaseAdapter {private LayoutInflater mInflater;private ArrayList<Object> mData;public NewAdapter(Activity context) {mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);mData = new ArrayList<Object>();}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn mData.size();}@Overridepublic int getItemViewType(int position) {// TODO Auto-generated method stubif (getItem(position) instanceof String)return 1;elsereturn 0;}@Overridepublic int getViewTypeCount() {// TODO Auto-generated method stubreturn 2;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn mData.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubLog.e("position", "" + position);int nType = getItemViewType(position);if (nType == 1)convertView = mInflater.inflate(R.layout.list_item, null);elseconvertView = mInflater.inflate(R.layout.list_item2, null);return convertView;}public void addData(ArrayList<Object> data) {if (mData == null) {mData = data;return;}mData.addAll(data);}}
- ListView多类型Item
- listview的多item类型的优化
- Android--listview多种类型item
- 帮助初学者理解ListView多类型Item显示
- Adapter类型控件之ListView Item多布局的实现
- listview的滑动监听和多类型item
- listview的重要属性viewtype,实现多类型item样式
- android ListView显示多个类型item 和 item中控件抢夺焦点解决办法
- android ListView显示多个类型item 和 item中控件抢夺焦点解决办法
- listView中 的不同item类型
- 单个listView展示多类型Item出现混乱显示的问题
- ListView中Item多布局
- ListView填充多个item
- listView多item布局设置
- Android---Listview中的Item有2种以上类型时
- Android之ListView包含多种类型的Item
- 当listview里的item不止一种类型时
- 如何让一个ListVIew按类型显示多种Item视图
- ODI知识模块--IKM Oracle Incremental Update
- 关于将自定义图片加入uinavigation
- Java中的值传递和引用传递
- 网络安全基础篇之<十>
- Dex File Format
- ListView多类型Item
- 冯玉祥之变
- 基类中成员的访问限定符和派生类的继承方式
- 用对象和用指向基类的指针访问成员函数
- Java程序优化的一些最佳实践
- MFC中获取各种类(文档、视图、框架、应用程序)指针的方法
- C#基础(4)
- Handlebars的registerHelper方法实现if标签判断是否等于某个特定值
- Cisco单臂路由配置,图文实例详解