package cn.shangyu.gdxzExpert.activity; import android.content.Intent; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.TextView; import com.gyf.immersionbar.ImmersionBar; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import cn.shangyu.gdxzExpert.R; import cn.shangyu.gdxzExpert.adapter.CollcetNewsAdataper; import cn.shangyu.gdxzExpert.base.BaseActivity; import cn.shangyu.gdxzExpert.bean.CollectNewsBean; import cn.shangyu.gdxzExpert.http.OnCallBackFromNet; import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshBase; import cn.shangyu.gdxzExpert.pulltorefreshview.PullToRefreshListView; import cn.shangyu.gdxzExpert.utils.CommonUtil; import cn.shangyu.gdxzExpert.utils.Constant; import cn.shangyu.gdxzExpert.utils.GsonTools; import cn.shangyu.gdxzExpert.utils.LogUtil; import cn.shangyu.gdxzExpert.utils.SharePrefUtil; import cn.shangyu.gdxzExpert.utils.StringUtil; import cn.shangyu.gdxzExpert.utils.ToastUtil; import cn.shangyu.gdxzExpert.utils.UIUtils; import cn.shangyu.gdxzExpert.utils.Url; import cn.shangyu.gdxzExpert.widget.LoadingPage; /** * Created by wangchengxin on 2019/2/25. */ public class CoollectNewsActivity extends BaseActivity implements OnCallBackFromNet, AdapterView.OnItemClickListener { private View view; private PullToRefreshListView mLv_Video; private View ll_loading; private TextView mLoad_empty; private CoollectNewsActivity mActivity; private String expert_uuid; private int page = 1; private List DataList = new ArrayList<>(); @Override public void setTitle() { // TODO Auto-generated method stub // top_title.setText("我的收藏"); if(StringUtil.isEmpty(getIntent().getStringExtra("name"))) { top_title.setText("我的收藏"); } else { top_title.setText(getIntent().getStringExtra("name")); } if(CommonUtil.BigModule()) { top_title.setTextSize(23); } } @Override public View onCreateSuccessedView() { // TODO Auto-generated method stub ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init(); view = UIUtils.inflate(R.layout.activity_collection_video); mActivity = this; initView(); return view; } @Override protected void onResume() { super.onResume(); // page = 1; // getDataResult(); } public void initView() { mLv_Video = (PullToRefreshListView) view .findViewById(R.id.lv_collect_video); mLoad_empty = (TextView) view.findViewById(R.id.load_empty); ll_loading = view.findViewById(R.id.ll_loading); tv_load_fail = (TextView) view.findViewById(R.id.tv_load_fail); expert_uuid = SharePrefUtil.getString(mActivity, Constant.uuid, ""); mLv_Video.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2() { @Override public void onPullDownToRefresh( PullToRefreshBase refreshView) { page = 1; getDataResult(); } @Override public void onPullUpToRefresh( PullToRefreshBase refreshView) { page++; getDataResult(); } }); mLv_Video.setOnItemClickListener(this); getDataResult(); } public void getDataResult() { Map param = new HashMap(); param.put("user_uuid", SharePrefUtil.getString(mActivity, Constant.uuid, "")); param.put("page", page+""); param.put("type", 1 + ""); sendParamtoNet(Url.getcollectionList, param, 101, mActivity, true); } @Override public LoadingPage.ResultState onLoad() { // TODO Auto-generated method stub return LoadingPage.ResultState.STATE_SUCCESSED; } @Override protected void processClick(View v) { // TODO Auto-generated method stub } @Override public void onCallbackFromThread(String resultJson) { // TODO Auto-generated method stub LogUtil.i(resultJson); processData(resultJson); } @Override public void onCallBackFromThread(String resultJson, int resultCode) { // TODO Auto-generated method stub } /** * 刷新最后时间 setLastUpdateTime * * void */ private void setLastUpdateTime() { String text = CommonUtil.getStringDate(); mLv_Video.getLoadingLayoutProxy().setLastUpdatedLabel(text); } /** * 刷新完成 onLoaded * * void */ private void onLoaded() { closeProgressDialog(); dismissLoadingProgress(); ll_loading.setVisibility(View.GONE); mLv_Video.onRefreshComplete(); } /** * 解析并处理数据 * * @param result */ CollcetNewsAdataper ListAdapter; private void processData(String result) { CollectNewsBean bean = GsonTools.fromGsonToBean(result, CollectNewsBean.class); closeProgressDialog(); if (StringUtil.isOneToCode(bean.getCode())) { ToastUtil.showToast(bean.getMessage()); return; } // 判断是下拉刷新还是加载更多,true表示是下拉刷新 if (page == 1) { // 初始化消息列表的数据 DataList.clear(); // 数据为空 LogUtil.i("size:" + bean.getData()); if (bean.getData() == null || bean.getData().size() == 0) { mLoad_empty.setVisibility(View.VISIBLE); mLoad_empty.setText("您暂未收藏肝胆新闻"); } else { mLoad_empty.setVisibility(View.GONE); DataList.addAll(bean.getData()); } } else { // 加载更多下一页时候e DataList.addAll(bean.getData()); } // 实例化适配器 if (ListAdapter == null) { ListAdapter = new CollcetNewsAdataper(DataList); mLv_Video.getRefreshableView().setAdapter(ListAdapter); } else { ListAdapter.notifyDataSetChanged(); } // 完成刷新 onLoaded(); // 得到总页码数 int totalPage = bean.getTotalPage(); LogUtil.i("totalPage=" + totalPage + "page=" + page); // 是否有更多 if (totalPage <= 1 || totalPage < page) { if (page != 1) { ToastUtil.showMessage("没有更多收藏了"); } mLv_Video.setMode(PullToRefreshBase.Mode.PULL_FROM_START); } else { mLv_Video.setMode(PullToRefreshBase.Mode.BOTH); } // 设置刷新的时间 setLastUpdateTime(); } @Override public void onItemClick(AdapterView parent, View view, int position, long id) { // TODO Auto-generated method stub Intent intent = new Intent(mActivity, NewsDetailActivity.class); intent.putExtra("url", Url.urlHtml + DataList.get(position - 1).getPath()); // intent.putExtra("title", news.title); intent.putExtra("title", "新闻详情"); intent.putExtra("newsuuid", DataList.get(position - 1).getOther_uuid()); intent.putExtra("newsagreenum", DataList.get(position - 1).getAgreenum()+""); intent.putExtra("newsreadnum", DataList.get(position - 1).getReadnum()+""); intent.putExtra("newsTitle", DataList.get(position - 1).getTitle()); intent.putExtra("summary",""); intent.putExtra("imageUrl", DataList.get(position - 1).getImgpath()); intent.putExtra("flag", 3); mActivity.startActivityForResult(intent, 201); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (requestCode == 201) { if (data!=null){ boolean isCollection = data.getBooleanExtra("isCollection", true); if (!isCollection){ String uuid = data.getStringExtra("uuid"); for (int i = 0;i