listView的不同item展示
来源:互联网 发布:淘宝卖家发快递多少钱 编辑:程序博客网 时间:2024/05/22 12:43
package com.bwei.list;
import java.util.ArrayList;
import java.util.List;
import com.bwei.list.bean.DataBean;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private static final int TYPE_ONE = 1;private static final int TYPE_THREE = 3;private static final int TYPE_TWO = 2;String[] text = {"liulailin","lisi","wangwu","zhaoliu","aaa","bbb"};int[] images = {R.drawable.jx_left_listitem_1,R.drawable.jx_left_listitem_2, R.drawable.jx_left_listitem_3,R.drawable.jx_left_listitem_4,R.drawable.jx_left_listitem_5, R.drawable.jx_left_listitem_6};private List<DataBean> list;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); ListView lv = (ListView) findViewById(R.id.lv); lv.setAdapter(new MyAdapter());}private void initData() { list = new ArrayList<DataBean>(); int index = 0; int imageIndex1 = 0; int imageIndex2 = 0; for (int i = 0; i < 12; i++) { DataBean bean = new DataBean(); //第一种类型 if(i%2==0){ bean.text = text[index]; bean.type = TYPE_ONE; index++; }else if(i%3==0){ bean.text = text[imageIndex2]; bean.images = images[imageIndex2]; bean.type = TYPE_THREE; imageIndex2++; }else{ bean.text = text[imageIndex1]; bean.images = images[imageIndex1]; bean.type = TYPE_TWO; imageIndex1++; } list.add(bean); } for (DataBean b : list) { System.out.println(b.text+""); }}class MyAdapter extends BaseAdapter{ /** * 返回listView不同的item类型 */ @Override public int getItemViewType(int position) { //要返回的类型 return list.get(position).type; } /** * 返回listView item类型的个数 */ @Override public int getViewTypeCount() { return 3; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder1 holder1 = null; ViewHolder2 holder2 = null; ViewHolder3 holder3 = null; int type = getItemViewType(position); if(convertView==null){ switch (type) { case TYPE_ONE: //类型1 holder1 = new ViewHolder1(); convertView = View.inflate(MainActivity.this, R.layout.lv_item1, null); holder1.tv1 = (TextView) convertView.findViewById(R.id.item1_tv); convertView.setTag(holder1); break; case TYPE_TWO: //类型2 holder2 = new ViewHolder2(); convertView = View.inflate(MainActivity.this, R.layout.lv_item2, null); holder2.iv2 = (ImageView) convertView.findViewById(R.id.item2_iv); holder2.tv2 = (TextView) convertView.findViewById(R.id.item2_tv); convertView.setTag(holder2); break; case TYPE_THREE: //类型3 holder3 = new ViewHolder3(); convertView = View.inflate(MainActivity.this, R.layout.lv_item3, null); holder3.iv3 = (ImageView) convertView.findViewById(R.id.item3_iv); holder3.tv3 = (TextView) convertView.findViewById(R.id.item3_tv); convertView.setTag(holder3); break; } }else{ switch (type) { case TYPE_ONE: holder1 = (ViewHolder1) convertView.getTag(); break; case TYPE_TWO: holder2 = (ViewHolder2) convertView.getTag(); break; case TYPE_THREE: holder3 = (ViewHolder3) convertView.getTag(); break; } } switch (type) { case TYPE_ONE: holder1.tv1.setText(list.get(position).text); break; case TYPE_TWO: holder2.tv2.setText(list.get(position).text); holder2.iv2.setImageResource(list.get(position).images); break; case TYPE_THREE: holder3.tv3.setText(list.get(position).text); holder3.iv3.setImageResource(list.get(position).images); break; } return convertView; } class ViewHolder1{ TextView tv1; } class ViewHolder2{ ImageView iv2; TextView tv2; } class ViewHolder3{ ImageView iv3; TextView tv3; }}
}
1 0
- listView的不同item展示
- listview不同的item展示
- Android listView同时展示多种不同数据的item
- 实现ListView不同的Item
- ListView定制不同的Item
- ListView显示不同的item
- ListView的不同item加载不同Layout
- ListView的不同item加载不同Layout
- listview不同的项目布局(item layout)
- listView中 的不同item类型
- Android ListView加载不同的item
- ListView的每个Item都不同布局
- listview不同风格item的实现
- 加载listview里面不同样式的item
- 实现listView的不同布局item
- Android listView 中嵌套不同的item
- Android listView 中嵌套不同的item
- ListView item加载不同的布局
- SVN使用教程总结
- 键盘上各键对应的ASCII码值
- day_04_python内置函数01
- jquery.validate 设置验证信息的显示
- 什么是OAuth授权?
- listView的不同item展示
- ORACLE——用户、表空间、数据库理解一
- enhanced HOG features
- Swift关于NSURL(string:)方法抛出空值错误的问题及解决方案
- HTML <frameset> 标签
- 利用Splashtop Xdisplay让手机成为pc的扩展显示器
- LeetCode - 206. Reverse Linked List
- Java笔记
- mysql 5.7安装后没有data文件夹的问题