package com.example.fragment;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import com.example.adapter.myadapter;
import com.example.bean.news;
import com.example.mode1.R;
import com.example.mode1.Show;
import com.google.gson.Gson;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
/**
* Created by Dell on 2018/8/5.
*/
public class fragment2 extends Fragment{
private String spec=”http://www.xieast.com/api/news/news.php?page=1”;
private ListView list_view2;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment2, container, false);
list_view2 = view.findViewById(R.id.list_view2);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
jiexi(spec);
}
private void jiexi(String spec) {
MyAsync myAsync = new MyAsync();
myAsync.execute(spec);//执行
}
//使用异步解析
public class MyAsync extends AsyncTask<String,Integer,String> {
//耗时操作
@Override
protected String doInBackground(String... params) {
//创建一个路径
DefaultHttpClient client = new DefaultHttpClient();
//创建一个输入的长度
String spec=params[0];
HttpGet get = new HttpGet(spec);
try {
HttpResponse response = client.execute(get);
if(response.getStatusLine().getStatusCode()==200){
HttpEntity entity = response.getEntity();
String s = EntityUtils.toString(entity);
return s;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
//更新UI
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
news news = gson.fromJson(s, news.class);
final List<com.example.bean.news.DataBean> data = news.getData();
myadapter myadapter = new myadapter(getActivity(),data);
list_view2.setAdapter(myadapter);
list_view2.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(getActivity(), Show.class);
intent.putExtra("url",data.get(position).getUrl());
startActivity(intent);
}
});
}
}
}