package com.lzy.ninegridview.model.evaluation; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import com.lzy.ninegridview.R; import com.lzy.ninegridview.callback.JsonCallback; import com.lzy.ninegridview.model.evaluation.bean.Evaluation; import com.lzy.ninegridview.model.evaluation.bean.EvaluationItem; import com.lzy.ninegridview.utils.Urls; import com.lzy.okhttputils.OkHttpUtils; import com.lzy.okhttputils.cache.CacheMode; import com.lzy.okhttputils.model.HttpParams; import java.util.ArrayList; import butterknife.Bind; import butterknife.ButterKnife; import in.srain.cube.views.ptr.PtrClassicFrameLayout; import in.srain.cube.views.ptr.PtrDefaultHandler; import in.srain.cube.views.ptr.PtrFrameLayout; import okhttp3.Request; import okhttp3.Response; public class EvaluationActivity extends AppCompatActivity { @Bind(R.id.ptr) PtrClassicFrameLayout ptr; @Bind(R.id.listView) ListView listView; private EvaluationAdapter mAdapter; private ArrayList<EvaluationItem> data; private int page = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_evaluation); ButterKnife.bind(this); View emptyView = View.inflate(this, R.layout.item_empty, null); addContentView(emptyView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); listView.setEmptyView(emptyView); mAdapter = new EvaluationAdapter(this, new ArrayList<EvaluationItem>()); listView.setAdapter(mAdapter); initData(false); ptr.setLastUpdateTimeRelateObject(this); ptr.setPtrHandler(new PtrDefaultHandler() { @Override public void onRefreshBegin(PtrFrameLayout frame) { initData(true); } }); } private void initData(final boolean isMore) { HttpParams params = new HttpParams(); params.put("goodsId", "98573"); params.put("pageNo", String.valueOf(page)); OkHttpUtils.post(Urls.Evaluation)// .tag(this)// .params(params)// .cacheKey("Evaluation")// .cacheMode(CacheMode.FIRST_CACHE_THEN_REQUEST)// .execute(new JsonCallback<Evaluation>(Evaluation.class) { @Override public void onResponse(boolean isFromCache, Evaluation evaluation, Request request, @Nullable Response response) { if (isMore) { data.addAll(0, evaluation.getEvaluataions()); } else { data = evaluation.getEvaluataions(); } mAdapter.setData(data); page++; ptr.refreshComplete(); } }); } }