wwww
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{
;
private ViewPager pager;
private List<String> imagelist=new ArrayList<String>();
private Handler handler=new Handler(){
//handler机制设置自动轮播
@Override
public void handleMessage(Message msg) {
int what=msg.what;
pager.setCurrentItem(what);
}
};
private XListView xlv;
;
private boolean flag;
private List<Bean.DataBean> list;
private MyBaseadapter adapter;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pager = (ViewPager) findViewById(R.id.pager);
btn = (Button) findViewById(R.id.btn);
//放入图片
imagelist.add("http://uimg.quanmin.tv/1503638093/cd8af.jpg");
imagelist.add("http://uimg.quanmin.tv/1503638052/61152.jpg");
imagelist.add("http://uimg.quanmin.tv/1503637943/32b38.jpg");
imagelist.add("http://image.quanmin.tv/6adf461b77359da62787be92e43f086ajpg");
pager.setAdapter(new My());
new Thread(){
@Override
public void run() {
//设置成为无限轮播
while(true){
try {
//设置轮播时间
Thread.sleep();
con++;
handler.sendEmptyMessage(con);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
xlv = (XListView) findViewById(R.id.xlv);
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(this);
data();
//跳转显示多条目
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,Main2.class);
startActivity(intent);
}
});
}
public void data(){
jiexi("http://www.quanmin.tv/json/categories/lol/list.json");
}
public void jiexi(String path){
new AsyncTask<String,Void,String>(){
@Override
protected void onPostExecute(String s) {
if (s!=null){
Gson gson=new Gson();
Bean bean = gson.fromJson(s, Bean.class);
//并能在本地打印网络请求的字符串(5分)
System.out.print(bean.toString());
//5)将请求获得的网络json字符串,定义实体类(5分),解析到对象中集合中(5分)
list = bean.getData();
if (adapter==null) {
adapter = new MyBaseadapter(MainActivity.this, list);
xlv.setAdapter(adapter);
}else{
adapter.sss(list,flag);
}
}
}
// 3)异步请求网络数据(5分),
@Override
protected String doInBackground(String... params) {
try {
URL url=]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout();
connection.setReadTimeout();
int code = connection.getResponseCode();
){
InputStream is = connection.getInputStream();
return info.readFromNetWork(is);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute(path);
}
// 2)实现下拉更多数据功能,注册实现接口(5分),刷新完毕,并弹出Toast提示(5分)
@Override
public void onRefresh() {
flag=false;
data();
xlv.stopRefresh(true);
Toast.makeText(MainActivity.this,"刷新完毕",Toast.LENGTH_SHORT).show();
}
// 2)实现下拉更多数据功能,注册实现接口(5分),刷新完毕,并弹出Toast提示(5分)
@Override
public void onLoadMore() {
flag=true;
data();
xlv.stopLoadMore();
Toast.makeText(MainActivity.this,"加载完毕",Toast.LENGTH_SHORT).show();
}
class My extends PagerAdapter{
@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(MainActivity.this);
ImageLoader.getInstance().displayImage(imagelist.get(position%imagelist.size()),imageView,appliction.getImageOptions());
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
}
public class Main2 extends AppCompatActivity implements XListView.IXListViewListener{
private boolean flag;
private XListView xlv;
private List<Bean.DataBean> list;
private MyBaseadapter2 adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
xlv = (XListView) findViewById(R.id.xlistview);
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(this);
data();
}
public void data(){
jiexi("http://www.quanmin.tv/json/categories/lol/list.json");
}
public void jiexi(String path){
new AsyncTask<String,Void,String>(){
@Override
protected void onPostExecute(String s) {
if (s!=null){
//gson解析
Gson gson=new Gson();
//实体bean类
Bean bean = gson.fromJson(s, Bean.class);
//放到集合中
list = bean.getData();
if (adapter==null) {
adapter = new MyBaseadapter2(Main2.this, list);
xlv.setAdapter(adapter);
}else{
adapter.sss(list,flag);
}
}
}
// 3)异步请求网络数据(5分),
@Override
protected String doInBackground(String... params) {
try {
URL url=]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout();
connection.setReadTimeout();
int code = connection.getResponseCode();
){
InputStream is = connection.getInputStream();
return info.readFromNetWork(is);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute(path);
}
public void onRefresh() {
flag=false;
data();
xlv.stopRefresh(true);
Toast.makeText(Main2.this,"刷新完毕",Toast.LENGTH_SHORT).show();
}
// 2)实现下拉更多数据功能,注册实现接口(5分),刷新完毕,并弹出Toast提示(5分)
@Override
public void onLoadMore() {
flag=true;
data();
xlv.stopLoadMore();
Toast.makeText(Main2.this,"加载完毕",Toast.LENGTH_SHORT).show();
}
}
public class MyBaseadapter extends BaseAdapter {
private Context context;
private List<Bean.DataBean> list;
public MyBaseadapter(Context context,List<Bean.DataBean> list) {
this.list=list;
this.context=context;
}
//下拉刷新会在第一条添加内容,上啦加载会在最后一条添加内容
public void sss(List<Bean.DataBean> data,boolean flag){
for (Bean.DataBean s: data) {
if (flag){
list.add(s);
}else{
list.add(,s);
}
}
notifyDataSetChanged();
}
@Override
public int getCount() {
;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHoder hoder=null;
if (convertView==null){
hoder=new ViewHoder();
//查找控件
convertView=View.inflate(context,R.layout.item,null);
hoder.image= (ImageView) convertView.findViewById(R.id.image);
hoder.nick= (TextView) convertView.findViewById(R.id.nick);
hoder.title= (TextView) convertView.findViewById(R.id.title);
convertView.setTag(hoder);
}else{
hoder= (ViewHoder) convertView.getTag();
}
//给每个空间id赋值
ImageLoader.getInstance().displayImage(list.get(position).getApp_shuffling_image(),hoder.image,appliction.getImageOptions());
hoder.nick.setText(list.get(position).getNick());
hoder.title.setText(list.get(position).getTitle());
return convertView;
}//,并进行优化(5分)
class ViewHoder{
private ImageView image;
private TextView nick,title;
}
}
public class MyBaseadapter2 extends BaseAdapter {
private Context context;
private List<Bean.DataBean> list;
public MyBaseadapter2(Context context,List<Bean.DataBean> list) {
this.list=list;
this.context=context;
}//下拉刷新会在第一条添加内容,上啦加载会在最后一条添加内容
public void sss(List<Bean.DataBean> data,boolean flag){
for (Bean.DataBean s: data) {
if (flag){
list.add(s);
}else{
list.add(,s);
}
}
notifyDataSetChanged();
}
@Override
public int getCount() {
;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//多条目加载
==){
convertView=View.inflate(context,R.layout.item1,null);
ImageView image1 = (ImageView) convertView.findViewById(R.id.image1);
TextView nick1 = (TextView) convertView.findViewById(R.id.nick1);
TextView title1 = (TextView) convertView.findViewById(R.id.title1);
ImageLoader.getInstance().displayImage(list.get(position).getApp_shuffling_image(),image1,appliction.getImageOptions());
nick1.setText(list.get(position).getNick());
title1.setText(list.get(position).getTitle());
}else{
convertView=View.inflate(context,R.layout.item2,null);
ImageView image2 = (ImageView) convertView.findViewById(R.id.image2);
TextView nick2 = (TextView) convertView.findViewById(R.id.nick2);
TextView title2 = (TextView) convertView.findViewById(R.id.title2);
ImageLoader.getInstance().displayImage(list.get(position).getApp_shuffling_image(),image2,appliction.getImageOptions());
nick2.setText(list.get(position).getNick());
title2.setText(list.get(position).getTitle());
}
return convertView;
}
}
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.wangshuaibiao201708251507b.MainActivity">
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="150dp"
android:id="@+id/pager"></android.support.v4.view.ViewPager>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btn"
android:text="跳转多条目显示"
android:layout_below="@+id/pager"/>
<SeekBar
android:layout_width="match_parent"
android:layout_height="3dp"
android:id="@+id/bar"
android:layout_below="@+id/btn"
/>
<com.limxing.xlistview.view.XListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/xlv"
android:layout_below="@+id/bar"></com.limxing.xlistview.view.XListView>
</RelativeLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<com.limxing.xlistview.view.XListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/xlistview"></com.limxing.xlistview.view.XListView>
</LinearLayout>
item
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/ic_launcher"
android:id="@+id/image" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sssssssss"
android:id="@+id/nick"
android:layout_above="@+id/title"
android:layout_centerHorizontal="true"
android:layout_marginBottom="22dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/title"
android:text="ddddddddddddddd"
android:layout_marginBottom="21dp"
android:layout_alignBottom="@+id/image"
android:layout_alignLeft="@+id/nick"
android:layout_alignStart="@+id/nick" />
</RelativeLayout>
item1
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/ic_launcher"
android:id="@+id/image1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sssssssss"
android:id="@+id/nick1"
android:layout_above="@+id/title1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="22dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/title1"
android:text="ddddddddddddddd"
android:layout_marginBottom="21dp"
android:layout_alignBottom="@+id/image1"
android:layout_alignLeft="@+id/nick1"
android:layout_alignStart="@+id/nick1" />
</RelativeLayout>
item2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/image2"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/ic_launcher"
android:layout_alignParentRight="true"/>
<TextView
android:id="@+id/nick2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="19dp"
android:layout_marginStart="19dp"
android:layout_marginTop="22dp"
android:text="nick" />
<TextView
android:id="@+id/title2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/image2"
android:layout_alignLeft="@+id/nick2"
android:layout_alignStart="@+id/nick2"
android:layout_marginBottom="14dp"
android:text="TextView" />
</RelativeLayout>
wwww的更多相关文章
- cogs 1396. wwww
1396. wwww ☆ 输入文件:wwww.in 输出文件:wwww.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] 对于一个递归函数w(a,b,c) 如果 ...
- 转载 DevOps的基本原则与介绍
转载原地址: http://www.cnblogs.com/wintersun/p/3339047.html DevOps的基本原则与介绍 DevOps这个术语是developer与operatio ...
- ajax异步请求
做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...
- C# 多种方式发送邮件(附帮助类)
因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...
- 博客使用BOS上传图片
1.博客平台的选定 从大学开始做个人主页算起,最开始是使用html,CSSS写简单的页面,后面大学毕业之后接触到了WordPress,就开始用WordPress搭建网站.现在还维护着一个农村网站.ht ...
- 在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验
准备工作 本篇文章采用Mono+CentOS+Jexus的方式实现部署.Net的Web应用程序(实战,上线项目). 不懂Mono的请移步张善友大神的:国内 Mono 相关文章汇总 不懂Jexus为何物 ...
- “全能”选手—Django 1.10文档中文版Part1
本文是博主翻译的Django1.10版本官方文档的第一部分,如时间充裕,争取一直翻译下去,经验不足,或有错漏,敬请指正. 另外对于公开文档进行翻译的版权问题不是很清楚,如有侵权请联系我! 另外,要转载 ...
- java web学习总结(三十) -------------------JSTL表达式
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- iOS 中的 HotFix 方案总结详解
相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结.iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Ap ...
随机推荐
- Modbus RTU 通信应用案例
如何打开项目归档文件 例程中的TIA博途项目文件与STEP 7项目文件均为归档文件,需要按如下方式打开: TIA博途项目文件 1. 打开TIA博途软件,通过软件左下方“项目视图”按钮切换至项目视图: ...
- C# Linq 常用查询操作符
限定操作: 1. All:用来确定是否序列中的所有元素都满足条件 2. Any:用来确定序列是否包含任何元素,有参方式用来确定序列中是否有元素满足条件 3. Contains:方法用来确定序列是否包含 ...
- [NOIP2003] 传染病控制题解
问题 F: [NOIP2003] 传染病控制 时间限制: 1 Sec 内存限制: 128 MB 题目描述 [问题背景] 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范 ...
- NOIP2018提高/普及成绩
明天就要出了,不忍看到自己爆零,现在很慌. 大家都考的如何呢?欢迎留言自己的分数或预估分数.
- delegate委托的例子,实现对Form中控件的更新
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Excel催化剂开源第45波-按原图大小导出图片
从Excel中导出图片,是一个很常规的需求,也有一些久旧不衰的界面操作法小技巧从OpenXml文件中批量导出,在VBA开发中,也会使用Chart对象的背景图的技巧来导出.总体来说,和真正想要的效果还是 ...
- 曹工杂谈:手把手带你读懂 JVM 的 gc 日志
一.前言 今天下午本来在划水,突然看到微信联系人那一个红点点,看了下,应该是博客园的朋友.加了后,这位朋友问了我一个问题: 问我,这两块有什么关系? 看到这段 gc 日志,一瞬间脑子还有点懵,嗯,这个 ...
- LiteDB源码解析系列(1)LiteDB介绍
最近利用端午假期,我把LiteDB的源码仔细的阅读了一遍,酣畅淋漓,确实收获了不少.后面将编写一系列关于LteDB的文章分享给大家,希望这么好的源码不要被埋没. 1.LiteDB是什么 这是一个小型的 ...
- python课堂整理18---文件操作(下)
一.b模式,字节方式(二进制的单位),rb wb ab f = open('test.py', 'rb', encoding = 'utf-8') 报错,因为用了b模式,就不能再指定编码格式了,已经指 ...
- ironic+nova详解
ironic+nova详解 说明: Openstack 的安装步骤省略,按照社区的文档即可搭建出一套相对稳定的使用环境.本文档基于Newton版本. 假设现在已经有一套可用的Newton环境, 以下的 ...