第二个综合题的适配器
来源:互联网 发布:linux 用户目录权限 编辑:程序博客网 时间:2024/05/16 14:01
package adapter;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.zhanhaoxuan.second_exam_week.R;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import java.util.List;
import bean.Result;
/**
* Created by zhanhaoxuan on 2017/12/9.
*/
public class Myadapter extends BaseAdapter {
private Context context;
private List<Result.ResultsBean> data;
private int NO_IMAGE=0;
private int HAS_IMAGE=1;
public Myadapter(Context context, List<Result.ResultsBean> data) {
this.context = context;
this.data = data;
}
@Override
public int getItemViewType(int position) {
List<String> images = data.get(position).getImages();
if (images != null&&images.size()>0) {
return HAS_IMAGE;
} else {
return NO_IMAGE;
}
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int position) {
return data.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
//第二步:进行图片的显示配置
DisplayImageOptions options=new DisplayImageOptions.Builder()
.cacheInMemory(true)//使用内存缓存
.cacheOnDisk(true)//使用磁盘缓存
.showImageOnLoading(R.mipmap.ic_launcher)//设置正在下载的图片
.showImageForEmptyUri(R.mipmap.ic_launcher)//url为空或请求的资源不存在时
.showImageOnFail(R.mipmap.ic_launcher)//下载失败时显示的图片
.bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式
.imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式===imageView,,ScaleType
.displayer(new RoundedBitmapDisplayer(50))//设置图片圆角显示 弧度
.build();
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int type = getItemViewType(position);
if (type==HAS_IMAGE){
viewHolder holder=new viewHolder();
if (convertView==null){
convertView=View.inflate(context, R.layout.item_layout,null);
holder.img=convertView.findViewById(R.id.img);
holder.tv=convertView.findViewById(R.id.tv);
convertView.setTag(holder);
}else {
holder=(viewHolder) convertView.getTag();
}
holder.tv.setText(data.get(position).getDesc());
//第三步:下载图片
ImageLoader.getInstance().displayImage(data.get(position).getImages().get(0),
holder.img,
options);
}else if(type==NO_IMAGE){
viewHolder2 holder2=new viewHolder2();
if (convertView==null){
convertView=View.inflate(context, R.layout.item_layout2,null);
holder2.tv2=convertView.findViewById(R.id.tv2);
convertView.setTag(holder2);
}else {
holder2=(viewHolder2) convertView.getTag();
}
holder2.tv2.setText(data.get(position).getDesc());
}
return convertView;
}
class viewHolder2{
TextView tv2;
}
class viewHolder{
ImageView img;
TextView tv;
}
}
- 第二个综合题的适配器
- 第二个综合题的布局文件
- 第二个综合题的mainactivity
- 第二个综合题的fragment
- 第一个综合题的MainActivity
- 第一个综合题的fragment
- ViewPager+Fragment+多种适配器视图的综合应用
- 第一个综合题布局
- 第二个算法题
- 第二章 变电站综合自动化系统的硬件原理
- 千禧年第二个十年的第二天
- ImageLoader 第二步在ListviewBaseadapter适配器中需要做的
- 我的第二个blog
- 我的第二个HelloWrold.
- 克米帅的第二个Blog
- c++的 第二个程序
- 我的第二个东东
- 第二个本命年的生日
- 如何获取Chrome等浏览器保存过的账号密码
- UVa 138
- 消息队列中点对点与发布订阅区别(good)
- 工具类App原型制作分享-Workflow
- Android中的缓存策略--LruCache
- 第二个综合题的适配器
- 异常处理-5个整数
- mysql之TIMESTAMP(时间戳)用法详解
- Can't load library Android:No implementation found for native
- 【新控件】Aspose.Total for C++ 全新上线
- 文章标题
- android 存储方式以及路径简介
- 【mex】@Override
- VUE 中如何扩展组件内容