package com.example.lixin.lixin1506a20170728;
/**
*
* 主界面 显示轮播图 和 多条目展示
*
* 姓名 李鑫
*
* 时间 20170728 16.41
*
*/
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.lixin.lixin1506a20170728.bean.PicInfo;
import com.example.lixin.lixin1506a20170728.utils.NetWorkUtils;
import com.example.lixin.lixin1506a20170728.utils.StreamTools;
import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {
private XListView xlv;
private ViewPager vp;
private int index = 1;
private boolean flag;
private MyBaseAdapter adapter;
private DisplayImageOptions options;
private Banner banner;
private List<String> listvp;
String arr[] = {
"https://img10.360buyimg.com/da/jfs/t4747/277/1368712300/170619/35098d7f/58f038e0N9b3a0ca5.jpg",
"https://img14.360buyimg.com/da/jfs/t4915/21/1427207714/81116/b005bb06/58f08963Ndb295b3c.jpg",
"https://img13.360buyimg.com/da/jfs/t4651/104/2867456043/68336/99da4c16/58f41eaeN5b614a63.jpg"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到数据
if (NetWorkUtils.isConnection(this)){
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
}else {
showDilog();
}
initView();
options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
//设置一个加载时显示的默认图片
.showImageOnLoading(R.mipmap.ic_launcher)
.build();
}
public void initView(){
//得到控件
xlv = (XListView) findViewById(R.id.xlv);
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(this);
//listview条目的点击事件 阻塞线程
xlv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
while(true){
}
}
});
//banner轮播图
banner = (Banner) findViewById(R.id.banner);
//创建集合
ArrayList<String> list = new ArrayList<>();
//把数据添加到集合当中
for (String s : arr){
list.add(s);
}
banner.setImageLoader(new GlideImageLoader());
//添加图片
banner.setImages(list);
//设置轮播模式
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
//设置切换的时间
banner.setDelayTime(2000);
//开始轮播
banner.start();
}
public class GlideImageLoader extends com.youth.banner.loader.ImageLoader{
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
}
private void getData(String path, String page, String type) {
//异步获取数据
new AsyncTask<String, Void, String>() {
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s != null) {
Gson gson = new Gson();
//得到数据
PicInfo picInfo = gson.fromJson(s, PicInfo.class);
listvp = picInfo.getListViewPager();
List<PicInfo.ListBean> list = picInfo.getList();
//判断并把数据发送给适配器
if (adapter==null) {
adapter = new MyBaseAdapter(list);
xlv.setAdapter(adapter);
}else {
adapter.loadMore(list,flag);
adapter.notifyDataSetChanged();
}
}
}
@Override
protected String doInBackground(String... params) {
try {
String path = params[0];
String page = params[1];
String type = params[2];
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//请求方式
connection.setRequestMethod("POST");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
OutputStream os = connection.getOutputStream();
os.write(("postkey=ff1d1AK&page=" + page + "&type=" + type).getBytes());
os.flush();
int code = connection.getResponseCode();
if (code == 200) {
//得到数据
InputStream is = connection.getInputStream();
//转换成字符串
String json = StreamTools.readFrom(is);
System.out.println("------------------"+json);
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute(path, page, type);
}
//下拉刷新
@Override
public void onRefresh() {
++index;
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
flag =true;
xlv.stopRefresh(true);
}
//上拉加载
@Override
public void onLoadMore() {
++index;
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
flag = false;
xlv.stopLoadMore();
}
//适配器
class MyBaseAdapter extends BaseAdapter {
private List<PicInfo.ListBean> list;
//接受传过来的值
private MyBaseAdapter(List<PicInfo.ListBean> list) {
this.list = list;
}
private void loadMore(List<PicInfo.ListBean> lists,boolean flag){
for(PicInfo.ListBean bean : lists){
if (flag){
list.add(0,bean);
}else {
list.add(bean);
}
}
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getViewTypeCount() {
//多类型的数量
return 2;
}
@Override
public int getItemViewType(int position) {
//判断显示多类型
if (list.get(position).getType()==2) {
return 0;
} else {
return 1;
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
ViewHolder2 holder2 = null;
int type = list.get(position).getType();
System.out.println("-------------" + type);
switch (getItemViewType(position)) {
case 0:
if (convertView == null) {
convertView = View.inflate(MainActivity.this, R.layout.item, null);
//优化
holder = new ViewHolder();
//得到控件
holder.tv = (TextView) convertView.findViewById(R.id.item_tv);
holder.iv = (ImageView) convertView.findViewById(R.id.item_iv);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
//添加数据
holder.tv.setText("title : " + list.get(position).getTitle());
String path = list.get(position).getPic();
String[] path1 = path.trim().split("\\|");
ImageLoader.getInstance().displayImage(path1[0], holder.iv, options);
break;
case 1:
if (convertView == null) {
convertView = View.inflate(MainActivity.this, R.layout.item2, null);
//优化
holder2 = new ViewHolder2();
//得到控件
holder2.tv = (TextView) convertView.findViewById(R.id.item2_tv);
holder2.iv = (ImageView) convertView.findViewById(R.id.item2_iv1);
holder2.iv1 = (ImageView) convertView.findViewById(R.id.item2_iv2);
holder2.iv2 = (ImageView) convertView.findViewById(R.id.item2_iv3);
holder2.iv3 = (ImageView) convertView.findViewById(R.id.item2_iv4);
convertView.setTag(holder2);
} else {
holder2 = (ViewHolder2) convertView.getTag();
}
//添加数据
holder2.tv.setText("title: " + list.get(position).getTitle());
String path2 = list.get(position).getPic();
String[] path3 = path2.trim().split("\\|");
ImageLoader.getInstance().displayImage(path3[0], holder2.iv, options);
ImageLoader.getInstance().displayImage(path3[1], holder2.iv1, options);
ImageLoader.getInstance().displayImage(path3[2], holder2.iv2, options);
ImageLoader.getInstance().displayImage(path3[3], holder2.iv3, options);
break;
}
return convertView;
}
class ViewHolder {
TextView tv;
ImageView iv;
}
class ViewHolder2 {
TextView tv;
ImageView iv, iv1, iv2, iv3;
}
}
public void showDilog(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("没有网络");
builder.setNegativeButton("取消",null);
builder.setPositiveButton("设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
intent.setAction("android.settings.WIRELESS_SETTINGS");
startActivity(intent);
}
});
builder.create().show();
}
}package com.example.lixin.lixin1506a20170728;
/**
*
* 主界面 显示轮播图 和 多条目展示
*
* 姓名 李鑫
*
* 时间 20170728 16.41
*
*/
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.lixin.lixin1506a20170728.bean.PicInfo;
import com.example.lixin.lixin1506a20170728.utils.NetWorkUtils;
import com.example.lixin.lixin1506a20170728.utils.StreamTools;
import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {
private XListView xlv;
private ViewPager vp;
private int index = 1;
private boolean flag;
private MyBaseAdapter adapter;
private DisplayImageOptions options;
private Banner banner;
private List<String> listvp;
String arr[] = {
"https://img10.360buyimg.com/da/jfs/t4747/277/1368712300/170619/35098d7f/58f038e0N9b3a0ca5.jpg",
"https://img14.360buyimg.com/da/jfs/t4915/21/1427207714/81116/b005bb06/58f08963Ndb295b3c.jpg",
"https://img13.360buyimg.com/da/jfs/t4651/104/2867456043/68336/99da4c16/58f41eaeN5b614a63.jpg"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到数据
if (NetWorkUtils.isConnection(this)){
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
}else {
showDilog();
}
initView();
options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
//设置一个加载时显示的默认图片
.showImageOnLoading(R.mipmap.ic_launcher)
.build();
}
public void initView(){
//得到控件
xlv = (XListView) findViewById(R.id.xlv);
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(this);
//listview条目的点击事件 阻塞线程
xlv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
while(true){
}
}
});
//banner轮播图
banner = (Banner) findViewById(R.id.banner);
//创建集合
ArrayList<String> list = new ArrayList<>();
//把数据添加到集合当中
for (String s : arr){
list.add(s);
}
banner.setImageLoader(new GlideImageLoader());
//添加图片
banner.setImages(list);
//设置轮播模式
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
//设置切换的时间
banner.setDelayTime(2000);
//开始轮播
banner.start();
}
public class GlideImageLoader extends com.youth.banner.loader.ImageLoader{
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
}
private void getData(String path, String page, String type) {
//异步获取数据
new AsyncTask<String, Void, String>() {
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s != null) {
Gson gson = new Gson();
//得到数据
PicInfo picInfo = gson.fromJson(s, PicInfo.class);
listvp = picInfo.getListViewPager();
List<PicInfo.ListBean> list = picInfo.getList();
//判断并把数据发送给适配器
if (adapter==null) {
adapter = new MyBaseAdapter(list);
xlv.setAdapter(adapter);
}else {
adapter.loadMore(list,flag);
adapter.notifyDataSetChanged();
}
}
}
@Override
protected String doInBackground(String... params) {
try {
String path = params[0];
String page = params[1];
String type = params[2];
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//请求方式
connection.setRequestMethod("POST");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
OutputStream os = connection.getOutputStream();
os.write(("postkey=ff1d1AK&page=" + page + "&type=" + type).getBytes());
os.flush();
int code = connection.getResponseCode();
if (code == 200) {
//得到数据
InputStream is = connection.getInputStream();
//转换成字符串
String json = StreamTools.readFrom(is);
System.out.println("------------------"+json);
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute(path, page, type);
}
//下拉刷新
@Override
public void onRefresh() {
++index;
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
flag =true;
xlv.stopRefresh(true);
}
//上拉加载
@Override
public void onLoadMore() {
++index;
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
flag = false;
xlv.stopLoadMore();
}
//适配器
class MyBaseAdapter extends BaseAdapter {
private List<PicInfo.ListBean> list;
//接受传过来的值
private MyBaseAdapter(List<PicInfo.ListBean> list) {
this.list = list;
}
private void loadMore(List<PicInfo.ListBean> lists,boolean flag){
for(PicInfo.ListBean bean : lists){
if (flag){
list.add(0,bean);
}else {
list.add(bean);
}
}
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getViewTypeCount() {
//多类型的数量
return 2;
}
@Override
public int getItemViewType(int position) {
//判断显示多类型
if (list.get(position).getType()==2) {
return 0;
} else {
return 1;
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
ViewHolder2 holder2 = null;
int type = list.get(position).getType();
System.out.println("-------------" + type);
switch (getItemViewType(position)) {
case 0:
if (convertView == null) {
convertView = View.inflate(MainActivity.this, R.layout.item, null);
//优化
holder = new ViewHolder();
//得到控件
holder.tv = (TextView) convertView.findViewById(R.id.item_tv);
holder.iv = (ImageView) convertView.findViewById(R.id.item_iv);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
//添加数据
holder.tv.setText("title : " + list.get(position).getTitle());
String path = list.get(position).getPic();
String[] path1 = path.trim().split("\\|");
ImageLoader.getInstance().displayImage(path1[0], holder.iv, options);
break;
case 1:
if (convertView == null) {
convertView = View.inflate(MainActivity.this, R.layout.item2, null);
//优化
holder2 = new ViewHolder2();
//得到控件
holder2.tv = (TextView) convertView.findViewById(R.id.item2_tv);
holder2.iv = (ImageView) convertView.findViewById(R.id.item2_iv1);
holder2.iv1 = (ImageView) convertView.findViewById(R.id.item2_iv2);
holder2.iv2 = (ImageView) convertView.findViewById(R.id.item2_iv3);
holder2.iv3 = (ImageView) convertView.findViewById(R.id.item2_iv4);
convertView.setTag(holder2);
} else {
holder2 = (ViewHolder2) convertView.getTag();
}
//添加数据
holder2.tv.setText("title: " + list.get(position).getTitle());
String path2 = list.get(position).getPic();
String[] path3 = path2.trim().split("\\|");
ImageLoader.getInstance().displayImage(path3[0], holder2.iv, options);
ImageLoader.getInstance().displayImage(path3[1], holder2.iv1, options);
ImageLoader.getInstance().displayImage(path3[2], holder2.iv2, options);
ImageLoader.getInstance().displayImage(path3[3], holder2.iv3, options);
break;
}
return convertView;
}
class ViewHolder {
TextView tv;
ImageView iv;
}
class ViewHolder2 {
TextView tv;
ImageView iv, iv1, iv2, iv3;
}
}
public void showDilog(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("没有网络");
builder.setNegativeButton("取消",null);
builder.setPositiveButton("设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
intent.setAction("android.settings.WIRELESS_SETTINGS");
startActivity(intent);
}
});
builder.create().show();
}
/**
*
* 主界面 显示轮播图 和 多条目展示
*
* 姓名 李鑫
*
* 时间 20170728 16.41
*
*/
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.lixin.lixin1506a20170728.bean.PicInfo;
import com.example.lixin.lixin1506a20170728.utils.NetWorkUtils;
import com.example.lixin.lixin1506a20170728.utils.StreamTools;
import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {
private XListView xlv;
private ViewPager vp;
private int index = 1;
private boolean flag;
private MyBaseAdapter adapter;
private DisplayImageOptions options;
private Banner banner;
private List<String> listvp;
String arr[] = {
"https://img10.360buyimg.com/da/jfs/t4747/277/1368712300/170619/35098d7f/58f038e0N9b3a0ca5.jpg",
"https://img14.360buyimg.com/da/jfs/t4915/21/1427207714/81116/b005bb06/58f08963Ndb295b3c.jpg",
"https://img13.360buyimg.com/da/jfs/t4651/104/2867456043/68336/99da4c16/58f41eaeN5b614a63.jpg"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到数据
if (NetWorkUtils.isConnection(this)){
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
}else {
showDilog();
}
initView();
options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
//设置一个加载时显示的默认图片
.showImageOnLoading(R.mipmap.ic_launcher)
.build();
}
public void initView(){
//得到控件
xlv = (XListView) findViewById(R.id.xlv);
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(this);
//listview条目的点击事件 阻塞线程
xlv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
while(true){
}
}
});
//banner轮播图
banner = (Banner) findViewById(R.id.banner);
//创建集合
ArrayList<String> list = new ArrayList<>();
//把数据添加到集合当中
for (String s : arr){
list.add(s);
}
banner.setImageLoader(new GlideImageLoader());
//添加图片
banner.setImages(list);
//设置轮播模式
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
//设置切换的时间
banner.setDelayTime(2000);
//开始轮播
banner.start();
}
public class GlideImageLoader extends com.youth.banner.loader.ImageLoader{
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
}
private void getData(String path, String page, String type) {
//异步获取数据
new AsyncTask<String, Void, String>() {
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s != null) {
Gson gson = new Gson();
//得到数据
PicInfo picInfo = gson.fromJson(s, PicInfo.class);
listvp = picInfo.getListViewPager();
List<PicInfo.ListBean> list = picInfo.getList();
//判断并把数据发送给适配器
if (adapter==null) {
adapter = new MyBaseAdapter(list);
xlv.setAdapter(adapter);
}else {
adapter.loadMore(list,flag);
adapter.notifyDataSetChanged();
}
}
}
@Override
protected String doInBackground(String... params) {
try {
String path = params[0];
String page = params[1];
String type = params[2];
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//请求方式
connection.setRequestMethod("POST");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
OutputStream os = connection.getOutputStream();
os.write(("postkey=ff1d1AK&page=" + page + "&type=" + type).getBytes());
os.flush();
int code = connection.getResponseCode();
if (code == 200) {
//得到数据
InputStream is = connection.getInputStream();
//转换成字符串
String json = StreamTools.readFrom(is);
System.out.println("------------------"+json);
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute(path, page, type);
}
//下拉刷新
@Override
public void onRefresh() {
++index;
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
flag =true;
xlv.stopRefresh(true);
}
//上拉加载
@Override
public void onLoadMore() {
++index;
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
flag = false;
xlv.stopLoadMore();
}
//适配器
class MyBaseAdapter extends BaseAdapter {
private List<PicInfo.ListBean> list;
//接受传过来的值
private MyBaseAdapter(List<PicInfo.ListBean> list) {
this.list = list;
}
private void loadMore(List<PicInfo.ListBean> lists,boolean flag){
for(PicInfo.ListBean bean : lists){
if (flag){
list.add(0,bean);
}else {
list.add(bean);
}
}
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getViewTypeCount() {
//多类型的数量
return 2;
}
@Override
public int getItemViewType(int position) {
//判断显示多类型
if (list.get(position).getType()==2) {
return 0;
} else {
return 1;
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
ViewHolder2 holder2 = null;
int type = list.get(position).getType();
System.out.println("-------------" + type);
switch (getItemViewType(position)) {
case 0:
if (convertView == null) {
convertView = View.inflate(MainActivity.this, R.layout.item, null);
//优化
holder = new ViewHolder();
//得到控件
holder.tv = (TextView) convertView.findViewById(R.id.item_tv);
holder.iv = (ImageView) convertView.findViewById(R.id.item_iv);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
//添加数据
holder.tv.setText("title : " + list.get(position).getTitle());
String path = list.get(position).getPic();
String[] path1 = path.trim().split("\\|");
ImageLoader.getInstance().displayImage(path1[0], holder.iv, options);
break;
case 1:
if (convertView == null) {
convertView = View.inflate(MainActivity.this, R.layout.item2, null);
//优化
holder2 = new ViewHolder2();
//得到控件
holder2.tv = (TextView) convertView.findViewById(R.id.item2_tv);
holder2.iv = (ImageView) convertView.findViewById(R.id.item2_iv1);
holder2.iv1 = (ImageView) convertView.findViewById(R.id.item2_iv2);
holder2.iv2 = (ImageView) convertView.findViewById(R.id.item2_iv3);
holder2.iv3 = (ImageView) convertView.findViewById(R.id.item2_iv4);
convertView.setTag(holder2);
} else {
holder2 = (ViewHolder2) convertView.getTag();
}
//添加数据
holder2.tv.setText("title: " + list.get(position).getTitle());
String path2 = list.get(position).getPic();
String[] path3 = path2.trim().split("\\|");
ImageLoader.getInstance().displayImage(path3[0], holder2.iv, options);
ImageLoader.getInstance().displayImage(path3[1], holder2.iv1, options);
ImageLoader.getInstance().displayImage(path3[2], holder2.iv2, options);
ImageLoader.getInstance().displayImage(path3[3], holder2.iv3, options);
break;
}
return convertView;
}
class ViewHolder {
TextView tv;
ImageView iv;
}
class ViewHolder2 {
TextView tv;
ImageView iv, iv1, iv2, iv3;
}
}
public void showDilog(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("没有网络");
builder.setNegativeButton("取消",null);
builder.setPositiveButton("设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
intent.setAction("android.settings.WIRELESS_SETTINGS");
startActivity(intent);
}
});
builder.create().show();
}
}package com.example.lixin.lixin1506a20170728;
/**
*
* 主界面 显示轮播图 和 多条目展示
*
* 姓名 李鑫
*
* 时间 20170728 16.41
*
*/
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.lixin.lixin1506a20170728.bean.PicInfo;
import com.example.lixin.lixin1506a20170728.utils.NetWorkUtils;
import com.example.lixin.lixin1506a20170728.utils.StreamTools;
import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {
private XListView xlv;
private ViewPager vp;
private int index = 1;
private boolean flag;
private MyBaseAdapter adapter;
private DisplayImageOptions options;
private Banner banner;
private List<String> listvp;
String arr[] = {
"https://img10.360buyimg.com/da/jfs/t4747/277/1368712300/170619/35098d7f/58f038e0N9b3a0ca5.jpg",
"https://img14.360buyimg.com/da/jfs/t4915/21/1427207714/81116/b005bb06/58f08963Ndb295b3c.jpg",
"https://img13.360buyimg.com/da/jfs/t4651/104/2867456043/68336/99da4c16/58f41eaeN5b614a63.jpg"
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到数据
if (NetWorkUtils.isConnection(this)){
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
}else {
showDilog();
}
initView();
options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
//设置一个加载时显示的默认图片
.showImageOnLoading(R.mipmap.ic_launcher)
.build();
}
public void initView(){
//得到控件
xlv = (XListView) findViewById(R.id.xlv);
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(this);
//listview条目的点击事件 阻塞线程
xlv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
while(true){
}
}
});
//banner轮播图
banner = (Banner) findViewById(R.id.banner);
//创建集合
ArrayList<String> list = new ArrayList<>();
//把数据添加到集合当中
for (String s : arr){
list.add(s);
}
banner.setImageLoader(new GlideImageLoader());
//添加图片
banner.setImages(list);
//设置轮播模式
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
//设置切换的时间
banner.setDelayTime(2000);
//开始轮播
banner.start();
}
public class GlideImageLoader extends com.youth.banner.loader.ImageLoader{
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
}
private void getData(String path, String page, String type) {
//异步获取数据
new AsyncTask<String, Void, String>() {
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s != null) {
Gson gson = new Gson();
//得到数据
PicInfo picInfo = gson.fromJson(s, PicInfo.class);
listvp = picInfo.getListViewPager();
List<PicInfo.ListBean> list = picInfo.getList();
//判断并把数据发送给适配器
if (adapter==null) {
adapter = new MyBaseAdapter(list);
xlv.setAdapter(adapter);
}else {
adapter.loadMore(list,flag);
adapter.notifyDataSetChanged();
}
}
}
@Override
protected String doInBackground(String... params) {
try {
String path = params[0];
String page = params[1];
String type = params[2];
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//请求方式
connection.setRequestMethod("POST");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
OutputStream os = connection.getOutputStream();
os.write(("postkey=ff1d1AK&page=" + page + "&type=" + type).getBytes());
os.flush();
int code = connection.getResponseCode();
if (code == 200) {
//得到数据
InputStream is = connection.getInputStream();
//转换成字符串
String json = StreamTools.readFrom(is);
System.out.println("------------------"+json);
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}.execute(path, page, type);
}
//下拉刷新
@Override
public void onRefresh() {
++index;
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
flag =true;
xlv.stopRefresh(true);
}
//上拉加载
@Override
public void onLoadMore() {
++index;
getData("http://qhb.2dyt.com/Bwei/news",index+"",5+"");
flag = false;
xlv.stopLoadMore();
}
//适配器
class MyBaseAdapter extends BaseAdapter {
private List<PicInfo.ListBean> list;
//接受传过来的值
private MyBaseAdapter(List<PicInfo.ListBean> list) {
this.list = list;
}
private void loadMore(List<PicInfo.ListBean> lists,boolean flag){
for(PicInfo.ListBean bean : lists){
if (flag){
list.add(0,bean);
}else {
list.add(bean);
}
}
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getViewTypeCount() {
//多类型的数量
return 2;
}
@Override
public int getItemViewType(int position) {
//判断显示多类型
if (list.get(position).getType()==2) {
return 0;
} else {
return 1;
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
ViewHolder2 holder2 = null;
int type = list.get(position).getType();
System.out.println("-------------" + type);
switch (getItemViewType(position)) {
case 0:
if (convertView == null) {
convertView = View.inflate(MainActivity.this, R.layout.item, null);
//优化
holder = new ViewHolder();
//得到控件
holder.tv = (TextView) convertView.findViewById(R.id.item_tv);
holder.iv = (ImageView) convertView.findViewById(R.id.item_iv);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
//添加数据
holder.tv.setText("title : " + list.get(position).getTitle());
String path = list.get(position).getPic();
String[] path1 = path.trim().split("\\|");
ImageLoader.getInstance().displayImage(path1[0], holder.iv, options);
break;
case 1:
if (convertView == null) {
convertView = View.inflate(MainActivity.this, R.layout.item2, null);
//优化
holder2 = new ViewHolder2();
//得到控件
holder2.tv = (TextView) convertView.findViewById(R.id.item2_tv);
holder2.iv = (ImageView) convertView.findViewById(R.id.item2_iv1);
holder2.iv1 = (ImageView) convertView.findViewById(R.id.item2_iv2);
holder2.iv2 = (ImageView) convertView.findViewById(R.id.item2_iv3);
holder2.iv3 = (ImageView) convertView.findViewById(R.id.item2_iv4);
convertView.setTag(holder2);
} else {
holder2 = (ViewHolder2) convertView.getTag();
}
//添加数据
holder2.tv.setText("title: " + list.get(position).getTitle());
String path2 = list.get(position).getPic();
String[] path3 = path2.trim().split("\\|");
ImageLoader.getInstance().displayImage(path3[0], holder2.iv, options);
ImageLoader.getInstance().displayImage(path3[1], holder2.iv1, options);
ImageLoader.getInstance().displayImage(path3[2], holder2.iv2, options);
ImageLoader.getInstance().displayImage(path3[3], holder2.iv3, options);
break;
}
return convertView;
}
class ViewHolder {
TextView tv;
ImageView iv;
}
class ViewHolder2 {
TextView tv;
ImageView iv, iv1, iv2, iv3;
}
}
public void showDilog(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("没有网络");
builder.setNegativeButton("取消",null);
builder.setPositiveButton("设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
intent.setAction("android.settings.WIRELESS_SETTINGS");
startActivity(intent);
}
});
builder.create().show();
}
}