public class Frag_01 extends Fragment implements XListView.IXListViewListener{
private XListView xlview;
int page = 1;
//创建一个新的集合
ArrayList<Step> list = null;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_01,container,false);
xlview = view.findViewById(R.id.xlview);
//判断网络状态
boolean netWork = NetWorkUtils.isNetWork(getActivity());
if (netWork){
Toast.makeText(getActivity(), “网络状态很好哟”, Toast.LENGTH_SHORT).show();
xlview.setPullLoadEnable(true);
xlview.setPullRefreshEnable(true);
xlview.setXListViewListener(this);
//重新加载
onLoad();
}
else {
Toast.makeText(getActivity(), "网络状态很糟糕哦", Toast.LENGTH_SHORT).show();
}
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
new MyAsyncTask().execute();
}
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
page=1;
onLoad();
getDtae();
}
},2000);
}
@Override
public void onLoadMore() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
page++;
onLoad();
getDtae();
}
},2000);
}
private void onLoad(){
new MyAsyncTask().execute();
}
private void getDtae(){
xlview.stopRefresh();
xlview.stopLoadMore();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date date = new Date(System.currentTimeMillis());
//获取当前时间
String format = dateFormat.format(date);
xlview.setRefreshTime(format);
}
class MyAsyncTask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
String path ="http://www.xieast.com/api/news/news.php?page="+page+"";
try {
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
if (connection.getResponseCode()==200){
InputStream stream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
StringBuilder builder = new StringBuilder();
String str = "";
while ((str=reader.readLine())!=null){
builder.append(str);
}
return builder.toString();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
ArrayList<Step> data = jsonBean.getData();
if (page==1){
list=new ArrayList<>();
}
list.addAll(data);
Myadapter myadapter = new Myadapter(getActivity(), list);
xlview.setAdapter(myadapter);
xlview.setSelection(list.size()-29);
}
}
}