package com.example.xlistviewlx;
import android.os.Handler;
import android.os.Message;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.display.SimpleBitmapDisplayer;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import view.XListView;
public class MainActivity extends AppCompatActivity {
XListView lv;
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
if(msg.what==0){
JsonRootBean jsonRootBean= (JsonRootBean) msg.obj;
list = jsonRootBean.getResult().getData();
Log.i("zzz", list.toString());
myad = new Myad();
lv.setAdapter(myad);
SimpleDateFormat format=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date shijian=new Date(System.currentTimeMillis());
String s = format.format(shijian);
lv.setRefreshTime(s);
}
}
};
private List<Data> list;
private Myad myad;
private ListView lvv;
private List<String> datas;
class Myad extends BaseAdapter {
private final int yi=0;
private final int er=1;
private final int san=2;
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
Diyi diyi=null;
Dier dier=null;
Disan disan=null;
int type=getItemViewType(i);
if(view==null){
switch (type){
case yi:
view=View.inflate(MainActivity.this,R.layout.diyi,null);
diyi=new Diyi();
diyi.yitv1=view.findViewById(R.id.yitv1);
diyi.yiimg1=view.findViewById(R.id.yiimg1);
diyi.yiimg2=view.findViewById(R.id.yiimg2);
diyi.yiimg3=view.findViewById(R.id.yiimg3);
view.setTag(diyi);
break;
case er:
view=View.inflate(MainActivity.this,R.layout.dier,null);
dier=new Dier();
dier.ertv1=view.findViewById(R.id.yitv1);
dier.erimg1=view.findViewById(R.id.yiimg1);
view.setTag(dier);
break;
case san:
view=View.inflate(MainActivity.this,R.layout.disan,null);
disan=new Disan();
disan.santv1=view.findViewById(R.id.yitv1);
disan.sanimg1=view.findViewById(R.id.yiimg1);
disan.sanimg2=view.findViewById(R.id.yiimg2);
view.setTag(disan);
break;
default:break;
}
}
switch (type){
case yi:
diyi= (Diyi) view.getTag();
diyi.yitv1.setText(list.get(i).getTitle());
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),diyi.yiimg1);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s02(),diyi.yiimg2);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s03(),diyi.yiimg3);
break;
case er:
dier= (Dier) view.getTag();
dier.ertv1.setText(list.get(i).getTitle());
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),dier.erimg1);
break;
case san:
disan= (Disan) view.getTag();
disan.santv1.setText(list.get(i).getTitle());
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),disan.sanimg1);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s02(),disan.sanimg2);
break;
default:break;
}
return view;
}
@Override
public int getItemViewType(int position) {
int i=position%3;
if(i==0){
return yi;
}else if(i==1){
return er;
}else{
return san;
}
}
@Override
public int getViewTypeCount() {
return 3;
}
class Diyi{
ImageView yiimg1,yiimg2,yiimg3;
TextView yitv1;
}
class Dier{
ImageView erimg1;
TextView ertv1;
}
class Disan{
ImageView sanimg1,sanimg2;
TextView santv1;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (XListView) findViewById(R.id.lv);
lvv = (ListView) findViewById(R.id.listviews);
datas = new ArrayList<String>();
for (int a=0;a<10;a++){
datas.add("新闻"+a+">");
}
Myha myha=new Myha();
lvv.setAdapter(myha);
lv.setPullRefreshEnable(true);
lv.setPullLoadEnable(true);
lv.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
myad.notifyDataSetChanged();
lv.stopRefresh();
}
},2000);
}
@Override
public void onLoadMore() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
myad.notifyDataSetChanged();
lv.stopLoadMore();
}
},2000);
}
});
getdata();
}
class Myha extends BaseAdapter{
@Override
public int getCount() {
return datas.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
View v=View.inflate(MainActivity.this,R.layout.item,null);
TextView tv1 = v.findViewById(R.id.viewtext);
tv1.setText(datas.get(i));
return v;
}
}
private void getdata() {
new Thread(){
private Message message;
@Override
public void run() {
String path="http://v.juhe.cn/toutiao/index?type=top&key=2f092bd9ce76c0257052d6d3c93c11b4";
try {
URL url=new URL(path);
HttpURLConnection con= (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setReadTimeout(5000);
con.setConnectTimeout(5000);
if(con.getResponseCode()==200){
InputStream stream = con.getInputStream();
String json=zhuan(stream,"utf-8");
Log.i("zzz",json);
Gson gson=new Gson();
JsonRootBean bean = gson.fromJson(json, JsonRootBean.class);
message = Message.obtain();
message.what=0;
message.obj=bean;
handler.sendMessage(message);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
super.run();
}
}.start();
}
private String zhuan(InputStream stream, String s) {
try {
InputStreamReader input=new InputStreamReader(stream,s);
BufferedReader reader=new BufferedReader(input);
StringBuilder builder=new StringBuilder();
String ss;
while((ss=reader.readLine())!=null){
builder.append(ss);
}
return builder.toString();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
import android.os.Handler;
import android.os.Message;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.display.SimpleBitmapDisplayer;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import view.XListView;
public class MainActivity extends AppCompatActivity {
XListView lv;
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
if(msg.what==0){
JsonRootBean jsonRootBean= (JsonRootBean) msg.obj;
list = jsonRootBean.getResult().getData();
Log.i("zzz", list.toString());
myad = new Myad();
lv.setAdapter(myad);
SimpleDateFormat format=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date shijian=new Date(System.currentTimeMillis());
String s = format.format(shijian);
lv.setRefreshTime(s);
}
}
};
private List<Data> list;
private Myad myad;
private ListView lvv;
private List<String> datas;
class Myad extends BaseAdapter {
private final int yi=0;
private final int er=1;
private final int san=2;
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
Diyi diyi=null;
Dier dier=null;
Disan disan=null;
int type=getItemViewType(i);
if(view==null){
switch (type){
case yi:
view=View.inflate(MainActivity.this,R.layout.diyi,null);
diyi=new Diyi();
diyi.yitv1=view.findViewById(R.id.yitv1);
diyi.yiimg1=view.findViewById(R.id.yiimg1);
diyi.yiimg2=view.findViewById(R.id.yiimg2);
diyi.yiimg3=view.findViewById(R.id.yiimg3);
view.setTag(diyi);
break;
case er:
view=View.inflate(MainActivity.this,R.layout.dier,null);
dier=new Dier();
dier.ertv1=view.findViewById(R.id.yitv1);
dier.erimg1=view.findViewById(R.id.yiimg1);
view.setTag(dier);
break;
case san:
view=View.inflate(MainActivity.this,R.layout.disan,null);
disan=new Disan();
disan.santv1=view.findViewById(R.id.yitv1);
disan.sanimg1=view.findViewById(R.id.yiimg1);
disan.sanimg2=view.findViewById(R.id.yiimg2);
view.setTag(disan);
break;
default:break;
}
}
switch (type){
case yi:
diyi= (Diyi) view.getTag();
diyi.yitv1.setText(list.get(i).getTitle());
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),diyi.yiimg1);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s02(),diyi.yiimg2);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s03(),diyi.yiimg3);
break;
case er:
dier= (Dier) view.getTag();
dier.ertv1.setText(list.get(i).getTitle());
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),dier.erimg1);
break;
case san:
disan= (Disan) view.getTag();
disan.santv1.setText(list.get(i).getTitle());
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s(),disan.sanimg1);
ImageLoader.getInstance().displayImage(list.get(i).getThumbnail_pic_s02(),disan.sanimg2);
break;
default:break;
}
return view;
}
@Override
public int getItemViewType(int position) {
int i=position%3;
if(i==0){
return yi;
}else if(i==1){
return er;
}else{
return san;
}
}
@Override
public int getViewTypeCount() {
return 3;
}
class Diyi{
ImageView yiimg1,yiimg2,yiimg3;
TextView yitv1;
}
class Dier{
ImageView erimg1;
TextView ertv1;
}
class Disan{
ImageView sanimg1,sanimg2;
TextView santv1;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (XListView) findViewById(R.id.lv);
lvv = (ListView) findViewById(R.id.listviews);
datas = new ArrayList<String>();
for (int a=0;a<10;a++){
datas.add("新闻"+a+">");
}
Myha myha=new Myha();
lvv.setAdapter(myha);
lv.setPullRefreshEnable(true);
lv.setPullLoadEnable(true);
lv.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
myad.notifyDataSetChanged();
lv.stopRefresh();
}
},2000);
}
@Override
public void onLoadMore() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
myad.notifyDataSetChanged();
lv.stopLoadMore();
}
},2000);
}
});
getdata();
}
class Myha extends BaseAdapter{
@Override
public int getCount() {
return datas.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
View v=View.inflate(MainActivity.this,R.layout.item,null);
TextView tv1 = v.findViewById(R.id.viewtext);
tv1.setText(datas.get(i));
return v;
}
}
private void getdata() {
new Thread(){
private Message message;
@Override
public void run() {
String path="http://v.juhe.cn/toutiao/index?type=top&key=2f092bd9ce76c0257052d6d3c93c11b4";
try {
URL url=new URL(path);
HttpURLConnection con= (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setReadTimeout(5000);
con.setConnectTimeout(5000);
if(con.getResponseCode()==200){
InputStream stream = con.getInputStream();
String json=zhuan(stream,"utf-8");
Log.i("zzz",json);
Gson gson=new Gson();
JsonRootBean bean = gson.fromJson(json, JsonRootBean.class);
message = Message.obtain();
message.what=0;
message.obj=bean;
handler.sendMessage(message);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
super.run();
}
}.start();
}
private String zhuan(InputStream stream, String s) {
try {
InputStreamReader input=new InputStreamReader(stream,s);
BufferedReader reader=new BufferedReader(input);
StringBuilder builder=new StringBuilder();
String ss;
while((ss=reader.readLine())!=null){
builder.append(ss);
}
return builder.toString();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}