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);
}
});
}