Franment1

package com.example.week2;

import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.bawei.jane.mxlistview.view.XListView;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.utils.L;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

/*
* Created by Wangwenda on 2017/12/10.
*/

public class Fragment1 extends Fragment {
private List<String> data = new ArrayList<>();
private XListView xlistView;
private String url = "http://data.v.qq.com/videocms/getNewsvideoList.php?ref=pclient&appkey=6UkwV9DeHr9_PC&vsite=new_vshou&ename=new_vs_feature&report=web.news&_=1504358456351";
private List<Shuju.DataBean.ContentBean> content;
private List<Shuju.DataBean.ContentBean> content2;
private String title_sring;
private Handler handler = new Handler();
private MyAsyncTask asyncTask;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view =inflater.inflate(R.layout.fragment1,container,false);
content2 = new ArrayList<>();

xlistView = view.findViewById(R.id.xlistview_1);

xlistView.setPullRefreshEnable(true);
xlistView.setPullLoadEnable(true);
xlistView.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
MyAsyncTask asyncTask = new MyAsyncTask();
asyncTask.execute(url);
content2.clear();
xlistView.setAdapter(new Myadapter());
xlistView.stopRefresh();
}
},2000);
}

@Override
public void onLoadMore() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
MyAsyncTask asyncTask = new MyAsyncTask();
asyncTask.execute(url);
xlistView.stopRefresh();
xlistView.setAdapter(new Myadapter());
xlistView.stopLoadMore();
xlistView.setSelected(true);
xlistView.setSelection(content2.size()-1);

}
},2000);
}
});

Bundle bundle = getArguments();
if(bundle != null){
title_sring = bundle.getString("title");
}

MyAsyncTask asyncTask = new MyAsyncTask();
asyncTask.execute(url);

return view;
}


class MyAsyncTask extends AsyncTask<String,Void,String>{

@Override
protected String doInBackground(String... strings) {
StringBuilder builder=new StringBuilder();
try {
URL url=new URL(strings[0]);
HttpURLConnection conn =(HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");

conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);

if(conn.getResponseCode()==200){
InputStream inputStream = conn.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(inputStream));
String str;
while ((str=reader.readLine())!=null){
builder.append(str);
}
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return builder.toString();
}

@Override
protected void onPostExecute(String s) {
String jsonStr=s.replace("content(","").replace(");","");
Gson gson = new Gson();
Shuju shuju = gson.fromJson(jsonStr, Shuju.class);
content = shuju.getData().getContent();
for(Shuju.DataBean.ContentBean b:content){
content2.add(b);
}
xlistView.setAdapter(new Myadapter());
}
}

class Myadapter extends BaseAdapter{

@Override
public int getViewTypeCount() {
return 2;
}

@Override
public int getItemViewType(int position) {
String vplus_pic = content2.get(position).getVplus_pic();
if(vplus_pic != null){
return 0;
}else {
return 1;
}
}

@Override
public int getCount() {
return content2.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) {
int type = getItemViewType(i);
ViewHolder holder;
ViewHolder1 holder1;
if(type == 0){
if(view == null){
view=View.inflate(getActivity(), R.layout.listview,null);
holder=new ViewHolder();
holder.tu=view.findViewById(R.id.tu_list);
holder.name=view.findViewById(R.id.name );
view.setTag(holder);
}else{
holder=(ViewHolder) view.getTag();
}
String vplus_pic = content2.get(i).getVplus_pic();
/*ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(getActivity()));
ImageLoader.getInstance().displayImage(vplus_pic,holder.tu);*/
Glide.with(getActivity()).load(vplus_pic).into(holder.tu);
holder.name.setText(content2.get(i).getTitle());

}else if(type == 1){
if(view == null){
view=View.inflate(getActivity(), R.layout.listview1,null);
holder1=new ViewHolder1();
holder1.name=view.findViewById(R.id.name_list1);
view.setTag(holder1);
}else{
holder1=(ViewHolder1) view.getTag();
}
String title = content2.get(i).getTitle();
holder1.name.setText(title);
}
return view;
}
class ViewHolder{
ImageView tu;
TextView name;
}
class ViewHolder1{
TextView name;
}
}
}

posted @ 2017-12-11 08:24  代码的搬运工头  阅读(113)  评论(0编辑  收藏  举报