demo下载地址:
http://download.csdn.net/download/qq_33063279/10231699
下面是我自己的使用:
import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.widget.DefaultItemAnimator; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; import cn.gotocity.zhoubt.MyApplication; import cn.gotocity.zhoubt.R; import cn.gotocity.zhoubt.activity.BaseActivity; import cn.gotocity.zhoubt.activity.login.LoginActivity; import cn.gotocity.zhoubt.adapter.MainAnnouncementAdapter; import cn.gotocity.zhoubt.bean.mainBean.AnnounBizDataBean; import cn.gotocity.zhoubt.bean.mainBean.AnnouncementResponse; import cn.gotocity.zhoubt.lfrecyclerview.LFRecyclerView; import cn.gotocity.zhoubt.lfrecyclerview.OnItemClickListener; import cn.gotocity.zhoubt.net.NetWorks; import cn.gotocity.zhoubt.url.BaseUrl; import cn.gotocity.zhoubt.utils.LogUtil; import cn.gotocity.zhoubt.utils.ToastUtil; import rx.Observer; /** * Created by Administrator on 2017/12/29. */ public class MainAnnouncementActivity extends BaseActivity implements OnItemClickListener, LFRecyclerView.LFRecyclerViewListener { @BindView(R.id.title_back) LinearLayout title_back; @BindView(R.id.title_txt) TextView title_txt; @BindView(R.id.recycleview) LFRecyclerView recycleview; private Context context; String createTime = ""; private String fresh = ""; private List<AnnounBizDataBean> BizData = new ArrayList<>(); private MainAnnouncementAdapter mainAnnouncementAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_announcement); ButterKnife.bind(this); context = this; initData(); initLinear(); } private void initData() { title_back.setVisibility(View.VISIBLE); title_txt.setText("公告"); title_txt.setVisibility(View.VISIBLE); recycleview.setLoadMore(true); recycleview.setRefresh(true); recycleview.setAutoLoadMore(true); recycleview.setLFRecyclerViewListener(this); recycleview.setItemAnimator(new DefaultItemAnimator()); mainAnnouncementAdapter = new MainAnnouncementAdapter(context, BizData); recycleview.setAdapter(mainAnnouncementAdapter); BizData.clear(); getData(); } private void getData() { NetWorks.getAnnouncement( BaseUrl.getAnnouncement, createTime, 5, new Observer<AnnouncementResponse>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { if (e.getMessage().equals("HTTP 401 Unauthorized")) { ToastUtil.showToast(context, "登录凭证失效,请重新登录"); Intent intent = new Intent(context, LoginActivity.class); startActivity(intent); finish(); } } @Override public void onNext(AnnouncementResponse announcementResponse) { Gson gson = new Gson(); String response = gson.toJson(announcementResponse); LogUtil.showLog("-------response----" + response); if (fresh.equals("1")) { BizData.clear(); recycleview.stopRefresh(true); } if (announcementResponse.getBizCount() > 0) { BizData.addAll(announcementResponse.getBizData()); createTime = BizData.get(BizData.size() - 1).getCreateTime(); mainAnnouncementAdapter.notifyDataSetChanged(); } else { recycleview.stopLoadMore(); recycleview.setLoadMore(false); } } }); } private void initLinear() { title_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); mainAnnouncementAdapter.setOnItemClickListener(new MainAnnouncementAdapter.OnItemClickListener() { @Override public void onItemClick(View view, int position) { MyApplication.announBizDataBean = BizData.get(position); Intent intent = new Intent(context, MainAnnouncementDetailActivity.class); startActivity(intent); } }); } @Override public void onRefresh() { LogUtil.showLog("----onRefresh()--------"); recycleview.setLoadMore(true); createTime = ""; fresh = "1"; getData(); } @Override public void onLoadMore() { LogUtil.showLog("----onRefresh()--------"); recycleview.stopRefresh(false); fresh = ""; getData(); } @Override public void onClick(int position) { } @Override public void onLongClick(int po) { } }import android.content.Context; import android.graphics.drawable.Drawable; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.webkit.WebView; import android.widget.TextView; import java.util.List; import cn.gotocity.zhoubt.R; import cn.gotocity.zhoubt.bean.mainBean.AnnounBizDataBean; import cn.gotocity.zhoubt.utils.LogUtil; public class MainAnnouncementAdapter extends RecyclerView.Adapter<MainAnnouncementAdapter.RegisterCenterHolder> implements View.OnClickListener { private Context context; private List<AnnounBizDataBean> BizData; private Drawable drawable; private String ncontent; public MainAnnouncementAdapter(Context context, List<AnnounBizDataBean> BizData) { this.context = context; this.BizData = BizData; } private OnItemClickListener mOnItemClickListener = null; //define interface public static interface OnItemClickListener { void onItemClick(View view, int position); } @Override public RegisterCenterHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_announcement, parent, false); RegisterCenterHolder hodle = new RegisterCenterHolder(view); //将创建的View注册点击事件 view.setOnClickListener(this); return hodle; } //绑定数据 @Override public void onBindViewHolder(final RegisterCenterHolder holder, final int position) { LogUtil.showLog("----BizData.get(position).getContents()----"+BizData.get(position).getContents()); //添加数据 holder.tv_news.setText(BizData.get(position).getTitle()); String createTime = BizData.get(position).getCreateTime(); createTime = createTime.replace("T"," "); createTime = createTime.substring(0,createTime.indexOf(".")); holder.tv_create_time.setText(createTime); holder.itemView.setTag(position); } @Override public int getItemCount() { return BizData.size(); } class RegisterCenterHolder extends RecyclerView.ViewHolder { TextView tv_news; TextView tv_create_time; WebView wb_html; public RegisterCenterHolder(View itemView) { super(itemView); tv_news = (TextView) itemView.findViewById(R.id.tv_news); tv_create_time=(TextView)itemView.findViewById(R.id.tv_create_time); wb_html = (WebView) itemView.findViewById(R.id.wb_html); } } @Override public void onClick(View v) { if (mOnItemClickListener != null) { //注意这里使用getTag方法获取position mOnItemClickListener.onItemClick(v, (int) v.getTag()); } } public void setOnItemClickListener(OnItemClickListener listener) { this.mOnItemClickListener = listener; } }