private PullToRefreshScrollView xlistView;
private String myurl;
private Bundle arguments;
private String type;
private int page=1;
private int oper=1;
private List<ReLei.NewslistBean> datas;
private ListView listview;
private F2ListAdapter f2ListAdapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View inflate = inflater.inflate(R.layout.tydata, container,false);
xlistView = inflate.findViewById(R.id.xlistview);
listview = inflate.findViewById(R.id.listviewf2);
datas=new ArrayList<>();
Bundle arguments = getArguments();
type = arguments.getString("type");
// http://api.tianapi.com/"+type+"/?key=af3b2b7acbfd7c08a4c60dbe16674c0b&num=10
myurl="http://api.tianapi.com/"+type+"/?key=af3b2b7acbfd7c08a4c60dbe16674c0b&num="+page+"0";
indata();
intype();
return inflate;
}
private void indata() {
new MyData().execute(myurl);
}
private class MyData extends AsyncTask<String,Integer,String> {
@Override
protected String doInBackground(String... strings) {
try {
URL url = new URL(strings[0]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setReadTimeout(5000);
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
if (connection.getResponseCode()==200){
InputStream stream = connection.getInputStream();
String s=StreamToString(stream);
return s;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
ReLei listpo = gson.fromJson(s, ReLei.class);
List<ReLei.NewslistBean> oako=listpo.getNewslist();
if (oper==1){
datas.clear();
}
datas.addAll(oako);
setAdapter();
xlistView.onRefreshComplete();
}
}
private void setAdapter() {
if (f2ListAdapter==null){
f2ListAdapter = new F2ListAdapter(datas, getActivity());
listview.setAdapter(f2ListAdapter);
}else {
f2ListAdapter.notifyDataSetChanged();
}
}
private String StreamToString(InputStream stream) {
StringBuilder stringBuilder = new StringBuilder();
String str;
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
try {
while((str=reader.readLine())!=null){
stringBuilder.append(str);
}
} catch (Exception e) {
e.printStackTrace();
}
return stringBuilder.toString();
}
private void intype() {
xlistView.setMode(PullToRefreshBase.Mode.BOTH);
xlistView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
page=1;
oper=1;
myurl="http://api.tianapi.com/"+type+"/?key=af3b2b7acbfd7c08a4c60dbe16674c0b&num="+page+"0";
indata();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
page++;
oper=2;
myurl="http://api.tianapi.com/"+type+"/?key=af3b2b7acbfd7c08a4c60dbe16674c0b&num="+page+"0";
indata();
}
});
}