package com.example.zice1.fragment;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.NonNull;
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.ListView;
import android.widget.Toast;
import com.example.zice1.HttpUtil;
import com.example.zice1.R;
import com.example.zice1.adapter.ShouAdapter;
import com.example.zice1.bean.Data;
import com.example.zice1.bean.News;
import com.google.gson.Gson;
import java.util.ArrayList;
public class XiaoFragment extends Fragment {
private ListView list_view_xiao;
private String strUrl="https://www.apiopen.top/novelApi";
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.xiao, container, false);
list_view_xiao = view.findViewById(R.id.list_view_xiao);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//5.开启异步
new MyAsyncTask().execute(strUrl);
}
//1.创建内部类 继承AsyncTask
class MyAsyncTask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
//2.在子线程中判断网络
boolean isNet = HttpUtil.isNet(getActivity());
if(isNet){
//3.有网之后直接请求数据
return HttpUtil.getRequest(strings[0]);
}else{
return "";
}
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
//4.判断
if(s.equals("")){
Toast.makeText(getActivity(),"没有网",Toast.LENGTH_SHORT).show();
}else{
//解析获取的数据
Gson gson=new Gson();
News news = gson.fromJson(s, News.class);
ArrayList<Data> list = news.getData();
//创建适配器
ShouAdapter adapter=new ShouAdapter(getActivity(),list);
//设置适配器
list_view_xiao.setAdapter(adapter);
}
}
}
}