package bwie.zheng; import android.support.v7.widget.RecyclerView; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import java.util.List; /** * Created by Zhengaihua on 2016/11/21. */ public class HomeAdapter extends RecyclerView.Adapter<HomeAdapter.MyViewHolder> { private Context context; private List<Bean.ResultBean.DataBean> dat; public HomeAdapter(Context context, List<Bean.ResultBean.DataBean> dat) { this.context = context; this.dat = dat; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyViewHolder holder = new MyViewHolder(LayoutInflater.from( context).inflate(R.layout.item, parent, false)); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.tv.setText(dat.get(position).getContent()); holder.ti.setText(dat.get(position).getUpdatetime()); } @Override public int getItemCount() { return dat.size(); } class MyViewHolder extends RecyclerView.ViewHolder { TextView tv; TextView ti; public MyViewHolder(View view) { super(view); tv = (TextView) view.findViewById(R.id.content); ti=(TextView)view.findViewById(R.id.timecon); } } }
package bwie.zheng; import android.os.Bundle; import android.os.Handler; import android.os.Message; import com.google.gson.Gson; import com.wuxiaolong.pullloadmorerecyclerview.PullLoadMoreRecyclerView; import java.util.ArrayList; import java.util.List; import baseactivity.BaseActivity; public class MainActivity extends BaseActivity { private PullLoadMoreRecyclerView recycleview; int tag; private List<Bean.ResultBean.DataBean> list2 = new ArrayList<>(); private HomeAdapter mAdapter; private List<Bean.ResultBean.DataBean> list = new ArrayList<>(); private String url = "http://japi.juhe.cn/joke/content/list.from?key= 874ed931559ba07aade103eee279bb37 &page=2&pagesize=10&sort=asc&time=1418745237"; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); String js = (String) msg.obj; Gson gson = new Gson(); Bean be = gson.fromJson(js, Bean.class); list = be.getResult().getData(); int tag=msg.arg1; switch (tag) { case 1: list2.addAll(list); recycleview.setLinearLayout(); mAdapter = new HomeAdapter(MainActivity.this, list2); recycleview.setAdapter(mAdapter); break; case 2: list2.clear(); list2.addAll(list); mAdapter.notifyDataSetChanged(); recycleview.setPullLoadMoreCompleted(); break; case 3: list2.addAll(list); mAdapter.notifyDataSetChanged(); recycleview.setPullLoadMoreCompleted(); break; } super.handleMessage(msg); } }; @Override public int bindLayout() { return R.layout.activity_main; } @Override public void initData() { } @Override public void initView(Bundle savedInstanceState) { recycleview = (PullLoadMoreRecyclerView) findViewById(R.id.re); recycleview.setLinearLayout(); recycleview.setPullRefreshEnable(true); recycleview.setPushRefreshEnable(true); // recycleview.loadMore(); recycleview.setFooterViewText("loading"); recycleview.setColorSchemeResources(android.R.color.holo_red_dark, android.R.color.holo_blue_dark); recycleview.setOnPullLoadMoreListener(new PullLoadMoreRecyclerView.PullLoadMoreListener() { @Override public void onRefresh() { recycleview.setRefreshing(true); getOkHttpAsyn(url, 2, handler); mAdapter.notifyDataSetChanged(); } @Override public void onLoadMore() { getOkHttpAsyn(url, 3, handler); mAdapter.notifyDataSetChanged(); } }); } @Override public void loadData() { getOkHttpAsyn(url, 1, handler); } }
public void getOkHttpAsyn(String url, final int what, final Handler handler) { OkHttpUtils.get(url, new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { // final Object bean= new Gson().fromJson(response.body().string(),Object.class); final String result = response.body().string(); Message msg = Message.obtain(); msg.obj = result; msg.arg1 = what; handler.sendMessage(msg); } }); }