import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView; import com.example.weekend_03.utils.ImageLoaderUtils;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader; import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List; /**
* Created by lenovo on 2017/12/19.
*/ class MyAdapter extends BaseAdapter{
private List<Result.DataBean>list;
private Context context;
public MyAdapter(List<Result.DataBean> list, Context context) {
this.list = list;
this.context = context;
}
//定义了两个常量,注意定义的常量值一定要小于 类型的总数 (2)
private final int HAS_IMAGE=0;//有图
private final int NO_IMAGE=1;//无图 //得到item条目的类型总数
@Override
public int getViewTypeCount() {
return 2;
} //根据条目的下标,返回此条目对应的类型,返回值是int类型
//position:item的索引值,下标
@Override
public int getItemViewType(int position) {
if(list.get(position).getIMAGEURL()==null){//偶数,返回无图类型
return NO_IMAGE;
}else{
return HAS_IMAGE;
}
} @Override
public int getCount() {
return list.size();
} @Override
public Object getItem(int i) {
return list.get(i);
} @Override
public long getItemId(int i) {
return i;
} @Override
public View getView(int i, View view, ViewGroup viewGroup) { if (getItemViewType(i)==HAS_IMAGE){
view = View.inflate(context,R.layout.itme,null);
TextView title = view.findViewById(R.id.title);
ImageView img = view.findViewById(R.id.img); title.setText(list.get(i).getTITLE());
Log.d("zzz",list.get(i).getIMAGEURL());
ImageLoader.getInstance().displayImage(list.get(i).getIMAGEURL(),img, ImageLoaderUtils.getImageOptions(context)); }else{
view = View.inflate(context,R.layout.itme_1,null);
TextView text1 = view.findViewById(R.id.text1);
text1.setText(list.get(i).getTITLE()); } return view;
} } ========================================================================================
import android.content.Context;
import android.content.Intent;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView; import com.example.weekend_03.utils.ImageLoaderUtils;
import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; /**
* Created by lenovo on 2017/12/19.
*/ class MyPagerAdapter extends PagerAdapter {
private List<String>urls;
private Context context; public MyPagerAdapter(List<String> urls, Context context) {
this.urls = urls;
this.context = context;
} @Override
public int getCount() {
return Integer.MAX_VALUE;
} @Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
} @Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView=new ImageView(context);
//加载显示图片
ImageLoader.getInstance().displayImage(urls.get(position%urls.size()),imageView, ImageLoaderUtils.getImageOptions(context));
//添加进去
container.addView(imageView); //添加点击事件
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent =new Intent(context,Main2Activity.class);
intent.putExtra("key","http://www.baidu.com");
context.startActivity(intent);
}
});
return imageView;
} @Override
public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object);
}
}

ViewpageAdapter的更多相关文章

  1. Android高手进阶教程(二十八)之---Android ViewPager控件的使用(基于ViewPager的横向相册)!!!

      分类: Android高手进阶 Android基础教程 2012-09-14 18:10 29759人阅读 评论(35) 收藏 举报 android相册layoutobjectclassloade ...

  2. 实现顶部轮播,下部listview经典布局的两种方式

    开头: 在做android开发的时候,我们经常会遇到这样的布局,上面是一个图片轮播图,下面是一些列表的项目.很多新闻app,视频类app都采用这样的布局.起初的时候 由于没有很多参考,我自己想到了一种 ...

  3. 使用ViewPager模拟实现应用程序启动界面

    经常在开发应用程序的时候,软件启动有启用动画界面,一般使用图片来进行界面该版本最新更新等等内容,今天来使用ViewPager来模拟实现这功能,也希望对大家有个小小的参考作用,在以后的项目中能够使用到. ...

  4. App引导界面,可以这么玩

    什么是ViewPager,刚一听到这个词,我们可能感觉很奇怪,但是我相信我们大部分人都曾见到过这些界面的.其实它就是我们在安装好一个app之后第一次使用时的那些引导界面的效果.这就是通过ViewPag ...

  5. ViewPager实现Recycle机制和响应notifyDataSetChanged

    1.目标 主界面要求水平移动翻页效果,每次只能翻一页,可以翻无数页. 2.实现思路 针对"每次只能翻一页"这个要求,简单使用SDK的话只有用ViewPager.ViewPager的 ...

  6. ViewPage最全解析

    简单说明: ViewPager是android扩展包v4包中的类,直接继承了ViewGroup类,和LinearLayout等布局一样,都是一个容器,需要在里面添加我们想要显示的内容. 一.在xml中 ...

随机推荐

  1. 单元测试系列之六:JUnit5 技术前瞻

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6868495.html   JUnit ...

  2. SELinux/SEAndroid 实例简述(二) TE语言规则【转】

    本文转载自:https://blog.csdn.net/shell812/article/details/54930246 版权声明:本文为博主原创文章,未经博主允许不得转载.    https:// ...

  3. TASE2017

    PATTERN系列之五 I. Introduction To ease the expression of real-time requirements, Dwyer, and then Konrad ...

  4. HDU 5333 Undirected Graph(动态树)

    题意 给定一棵 \(n\) 个节点, \(m\) 条边的无向图,每个点有点权,有 \(q\) 个询问,每次询问若删去存在一个节点权值在 \([L,R]\) 范围外的边,剩下的图构成了多少个连通块(询问 ...

  5. DDD 之 Multiple Canonical Models

    MultipleCanonicalModels Scratch any large enterprise and you'll usually find some kind of group focu ...

  6. angular-cli.json配置参数解释,以及依稀常用命令的通用关键参数解释

    一. angular-cli.json常见配置 { "project": { "name": "ng-admin", //项目名称 &quo ...

  7. Intellij IDEA创建git,maven的SpringMVC项目

    Intellij IDEA创建git,maven的SpringMVC项目 原文链接:http://www.cnblogs.com/blog5277/p/8906120.html 原文作者:博客园--曲 ...

  8. 廖雪峰JavaScript学习笔记(基础及数据类型、变量)

    先睹为快 alert('我要学JavaScript!'); Run: 基本语法: 1.每个语句以;结束,不强制 2.语句块用{...} 3.//单行注释,/*...*/ 多行注释 数据类型: 1.不区 ...

  9. 康拓展开-排列的hash

    对于一个集合内所有元素的排列,康拓展开是一个无冲突的hash法.其规则便是将排列在逻辑上排好序,然后每个排列的序号即是hash值. 关键就在如何快速求出序号和快速还原啦. 首先我们确定一好集合内各元素 ...

  10. laravel command调用方法命令