80,351
社区成员
发帖
与我相关
我的任务
分享
public class ContactlistFragment extends Fragment {
private TextView zb_title;
private XListView zb_list;
private RelativeLayout progress;
private int page = 1;
private List<ZbInfo> infos = new ArrayList<>();
private List<ZbInfo> infosMore ;
private ZbInfo zbInfo;
private ZbAdapter zbAdapter;
private JSONArray datas;
private ImageView noNet;
public ContactlistFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_contactlist, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
progress= (RelativeLayout) getView().findViewById(R.id.proces_chat);
zb_title = (TextView) getActivity().findViewById(R.id.title_top);
zb_title.setText("直播间");
noNet = (ImageView) getActivity().findViewById(R.id.zb_noNet);
zb_list = (XListView) getActivity().findViewById(R.id.zb_list);
zb_list.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
page = 1;
infos.clear();
zbAdapter.notifyDataSetChanged();
showFooter();
initData();
onLoad();
}
@Override
public void onLoadMore() {
page++;
initData();
onLoad();//加载完数据停止加载页面
}
});
if (zbAdapter == null){
zbAdapter = new ZbAdapter(getActivity() , infos);
}else {
zb_list.setAdapter(zbAdapter);
zbAdapter.notifyDataSetChanged();
}
initData();
}
private void initData() {
getData("打码"+page);
}
private void getData(String url) {
RequestParams params=new RequestParams(url);
x.http().get(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
infosMore = new ArrayList<>();
try {
datas = new JSONObject(result).getJSONArray("data");
for (int i=0;i<datas.length();i++){
zbInfo = new ZbInfo();
JSONObject object = datas.getJSONObject(i);
zbInfo.setImage(object.getString("image"));
zbInfo.setSubject(object.getString("subject"));
zbInfo.setStsj(object.getString("ztsj"));
zbInfo.setDidian(object.getString("didian"));
zbInfo.setAbstracts(object.getString("abstract"));
zbInfo.setLinumber(object.getString("linumber"));
zbInfo.setAid(object.getString("aid"));
zbInfo.setFlvurl(object.getString("flvurl"));
infosMore.add(zbInfo);
}
if (infosMore==null || infosMore.size() == 0){
hideFooter();
return;
}else{
infos.addAll(infosMore);
zbAdapter = new ZbAdapter(getActivity(),infos);
if (page==1){
zb_list.setAdapter(zbAdapter);
}else {
zbAdapter.notifyDataSetChanged();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
ConnectivityManager connectivityManager = (ConnectivityManager)getActivity().getSystemService(getActivity().CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if(networkInfo == null || !networkInfo.isAvailable()) {
Toast.makeText(getActivity(),"请保持网络畅通!", Toast.LENGTH_SHORT).show();
zb_list.setVisibility(View.GONE);
noNet.setVisibility(View.VISIBLE);
} else {
Toast.makeText(getActivity(),"地址错误!", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(Callback.CancelledException cex) {
}
@Override
public void onFinished() {
progress.setVisibility(View.GONE);
}
});
}
private void onLoad() {
zb_list.stopRefresh();
zb_list.stopLoadMore();
zb_list.setRefreshTime("刚刚");
}
public void showFooter() {
XListViewFooter footer = new XListViewFooter(getActivity());
footer.show();
zb_list.setPullLoadEnable(true);
}
public void hideFooter() {
XListViewFooter footer = new XListViewFooter(getActivity());
footer.hide();
zb_list.setPullLoadEnable(false);
}
}