ListView分页多条目加载
来源:互联网 发布:java.nio.file.files 编辑:程序博客网 时间:2024/06/05 23:43
package com.example.muhanxi.listviewmulti;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
/**
* Created by muhanxi on 17/4/20.
*/
public class NewsAdapter extends BaseAdapter {
private List<News.ListBean> list ;
private Context context ;
public NewsAdapter(List<News.ListBean> list , Context context){
this.list = list ;
this.context = context;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
// 返回的视图类型
@Override
public int getItemViewType(int position) {
if(1 == list.get(position).getType()){
return 0 ;
} else {
return 1 ;
}
}
// 设置listview 有多少种 类型的item
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolderFirst viewHolderFirst = null;
ViewHolderSecond viewHolderSecond = null ;
int type = getItemViewType(position);
if(convertView == null){
if(type == 0){
// 一张图片的item
viewHolderFirst = new ViewHolderFirst();
convertView = LayoutInflater.from(context).inflate(R.layout.first_image,null);
viewHolderFirst.textViewTitle = (TextView) convertView.findViewById(R.id.firstimage_title);
viewHolderFirst.textViewDate = (TextView) convertView.findViewById(R.id.firstimage_date);
viewHolderFirst.imageView = (ImageView) convertView.findViewById(R.id.firstimage_image);
convertView.setTag(viewHolderFirst);
}else {
// 三张图片的item
viewHolderSecond = new ViewHolderSecond();
convertView = LayoutInflater.from(context).inflate(R.layout.second_image,null);
viewHolderSecond.textViewTitle = (TextView) convertView.findViewById(R.id.secondimage_title);
viewHolderSecond.textViewDate = (TextView) convertView.findViewById(R.id.secondimage_date);
viewHolderSecond.imageViewLeft = (ImageView) convertView.findViewById(R.id.secondimage_image_left);
viewHolderSecond.imageViewMiddle = (ImageView) convertView.findViewById(R.id.secondimage_image_middle);
viewHolderSecond.imageViewright = (ImageView) convertView.findViewById(R.id.secondimage_image_right);
convertView.setTag(viewHolderSecond);
}
} else {
if(type == 0){
// 一张图片的item
viewHolderFirst = (ViewHolderFirst)convertView.getTag() ;
}else {
// 三张图片的item
viewHolderSecond = (ViewHolderSecond)convertView.getTag() ;
}
}
if(type == 0){
// 一张图片的item
viewHolderFirst.textViewTitle.setText(list.get(position).getTitle());
viewHolderFirst.textViewDate.setText(list.get(position).getDate());
ImageLoader.getInstance().displayImage(list.get(position).getPic(),viewHolderFirst.imageView,IApplication.getOption());
}else {
// 三张图片的item
viewHolderSecond.textViewTitle.setText(list.get(position).getTitle());
viewHolderSecond.textViewDate.setText(list.get(position).getDate());
String [] arr = list.get(position).getPic().split("\\|");
ImageLoader.getInstance().displayImage(arr[0],viewHolderSecond.imageViewLeft,IApplication.getOption());
ImageLoader.getInstance().displayImage(arr[1],viewHolderSecond.imageViewMiddle,IApplication.getOption());
ImageLoader.getInstance().displayImage(arr[2],viewHolderSecond.imageViewright,IApplication.getOption());
}
return convertView;
}
static class ViewHolderFirst {
TextView textViewTitle ;
TextView textViewDate ;
ImageView imageView;
}
static class ViewHolderSecond {
TextView textViewTitle ;
TextView textViewDate ;
ImageView imageViewLeft;
ImageView imageViewMiddle;
ImageView imageViewright;
}
}
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
/**
* Created by muhanxi on 17/4/20.
*/
public class NewsAdapter extends BaseAdapter {
private List<News.ListBean> list ;
private Context context ;
public NewsAdapter(List<News.ListBean> list , Context context){
this.list = list ;
this.context = context;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
// 返回的视图类型
@Override
public int getItemViewType(int position) {
if(1 == list.get(position).getType()){
return 0 ;
} else {
return 1 ;
}
}
// 设置listview 有多少种 类型的item
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolderFirst viewHolderFirst = null;
ViewHolderSecond viewHolderSecond = null ;
int type = getItemViewType(position);
if(convertView == null){
if(type == 0){
// 一张图片的item
viewHolderFirst = new ViewHolderFirst();
convertView = LayoutInflater.from(context).inflate(R.layout.first_image,null);
viewHolderFirst.textViewTitle = (TextView) convertView.findViewById(R.id.firstimage_title);
viewHolderFirst.textViewDate = (TextView) convertView.findViewById(R.id.firstimage_date);
viewHolderFirst.imageView = (ImageView) convertView.findViewById(R.id.firstimage_image);
convertView.setTag(viewHolderFirst);
}else {
// 三张图片的item
viewHolderSecond = new ViewHolderSecond();
convertView = LayoutInflater.from(context).inflate(R.layout.second_image,null);
viewHolderSecond.textViewTitle = (TextView) convertView.findViewById(R.id.secondimage_title);
viewHolderSecond.textViewDate = (TextView) convertView.findViewById(R.id.secondimage_date);
viewHolderSecond.imageViewLeft = (ImageView) convertView.findViewById(R.id.secondimage_image_left);
viewHolderSecond.imageViewMiddle = (ImageView) convertView.findViewById(R.id.secondimage_image_middle);
viewHolderSecond.imageViewright = (ImageView) convertView.findViewById(R.id.secondimage_image_right);
convertView.setTag(viewHolderSecond);
}
} else {
if(type == 0){
// 一张图片的item
viewHolderFirst = (ViewHolderFirst)convertView.getTag() ;
}else {
// 三张图片的item
viewHolderSecond = (ViewHolderSecond)convertView.getTag() ;
}
}
if(type == 0){
// 一张图片的item
viewHolderFirst.textViewTitle.setText(list.get(position).getTitle());
viewHolderFirst.textViewDate.setText(list.get(position).getDate());
ImageLoader.getInstance().displayImage(list.get(position).getPic(),viewHolderFirst.imageView,IApplication.getOption());
}else {
// 三张图片的item
viewHolderSecond.textViewTitle.setText(list.get(position).getTitle());
viewHolderSecond.textViewDate.setText(list.get(position).getDate());
String [] arr = list.get(position).getPic().split("\\|");
ImageLoader.getInstance().displayImage(arr[0],viewHolderSecond.imageViewLeft,IApplication.getOption());
ImageLoader.getInstance().displayImage(arr[1],viewHolderSecond.imageViewMiddle,IApplication.getOption());
ImageLoader.getInstance().displayImage(arr[2],viewHolderSecond.imageViewright,IApplication.getOption());
}
return convertView;
}
static class ViewHolderFirst {
TextView textViewTitle ;
TextView textViewDate ;
ImageView imageView;
}
static class ViewHolderSecond {
TextView textViewTitle ;
TextView textViewDate ;
ImageView imageViewLeft;
ImageView imageViewMiddle;
ImageView imageViewright;
}
}
0 0
- ListView分页多条目加载
- ListView多条目加载
- ListView 多条目加载
- listview多条目加载
- ListView多条目加载
- listview多条目加载
- ListView多条目加载
- ListView多条目加载
- ListView多条目加载
- ListView多条目加载
- listview多条目加载
- Listview多条目加载
- ListView多条目加载
- ListView多条目加载
- ListView多条目加载
- ListView多条目加载
- Listview多条目加载
- ListView多条目加载
- Android系统工程模式启动过程详解
- 简单线性回归
- 1057. 数零壹
- Linux配置阿里云镜像
- RGB与YCbCr颜色空间的转换
- ListView分页多条目加载
- C语言之浮点数的内存表示
- TCP socket心跳包示例程序
- 使用wp-autopost插件储存于七牛云出错显示incorrect zone, please use up-z1.qiniu.com的解决办法
- App移动端项目管理
- 如何创建数据源进行与数据库的连接
- svn使用
- 教你一天玩转JavaScript(五)——使用JavaScript完成注册页面表单提示及校验
- CSS属性:font-family