使用是布局

  <android.support.v4.widget.SwipeRefreshLayout
android:id="@id/id_swiperefreshlayout"
android:layout_width="match_parent"
android:layout_height="match_parent" > <android.support.v7.widget.RecyclerView
android:id="@id/id_recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cacheColorHint="@null"
android:scrollbars="vertical" />
</android.support.v4.widget.SwipeRefreshLayout>
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mRecyclerview.setLayoutManager(layoutManager);
adapter = new BroadcastRecyclerViewAdapter(context, list,userModel);
mRecyclerview.setAdapter(adapter);
mSwipeRefreshWidget.setColorSchemeColors(R.color.btn_blue_normal,R.color.btn_blue_pressed);
mSwipeRefreshWidget.setOnRefreshListener(new OnRefreshListener() { @Override
public void onRefresh() {
mType=1;page=1;
initData();
}
});

RecyclerView.Adapteret用户

public class BroadcastRecyclerViewAdapter extends RecyclerView.Adapter<BroadcastViewHolder> {
public LayoutInflater mLayoutInflater;
List<BroadcastDetailsModel> mDatas;
private Context mContext;
UserDetails userModel;
BroadcastAPI broadcastApi;
private IOnItemClickListener<BroadcastDetailsModel> onItemClickListener;
public BroadcastRecyclerViewAdapter(Context context,
List<BroadcastDetailsModel> datas,UserDetails userModel){
mLayoutInflater=LayoutInflater.from(context);
this.mDatas=datas;
mContext=context;
this.userModel=userModel;
broadcastApi=new BroadcastAPI();
} // 点击事件接口
public interface OnItemClickListener {
void onItemClick(View view, int position,BroadcastDetailsModel model); void onItemLongClick(View view, int position,BroadcastDetailsModel model);
} public OnItemClickListener mOnItemClickListener; public void setOnItemClickListener(OnItemClickListener listener) {
this.mOnItemClickListener = listener;
} public void addItemLast(List<BroadcastDetailsModel> datas) {
mDatas.addAll(datas);
} public void addItemTop(List<BroadcastDetailsModel> datas) {
mDatas = datas;
} @Override
public int getItemCount() {
return mDatas==null?0:mDatas.size();
} @Override
public void onBindViewHolder(final BroadcastViewHolder holder, final int position) {
final BroadcastDetailsModel model=mDatas.get(position);
int type = getItemViewType(position);
//点击事件在这里实现,主要是利用RecyclerView中填充的布局控件可以被点击这个原理
if (mOnItemClickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mOnItemClickListener.onItemClick(holder.itemView, position,model);
}
}); // 长点击事件
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
mOnItemClickListener.onItemLongClick(holder.itemView, position,model);
return true;
}
}); }
holder.text_loaction.setVisibility(View.VISIBLE);
holder.text_loaction.setText(model.getProvince() + ","+ model.getCity());
} @Override
public BroadcastViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View mView=null;
BroadcastViewHolder mViewHolder=null;
mView = mLayoutInflater.inflate(R.layout.broadcast_fragment_item, parent, false);
mViewHolder = new BroadcastViewHolder(mView);
return mViewHolder;
} public class BroadcastViewHolder extends RecyclerView.ViewHolder {
@Bind(R.id.img_icon)
public RoundImageView img_icon;
@Bind(R.id.text_loaction)
public CustomTextView text_loaction;
public BroadcastViewHolder(View view) {
super(view);
ButterKnife.bind(this, view);
}
}

这里只实现了刷新还没有实现上拉加载更多,这里主要是记录下引用android-support-v7-recyclerview.jar 遇到的问题,刚开始我引用 了sdk\extras\android\support\v7\recyclerview\libs下的jar包

运行后提示我找这个类 在网上找了很多有说v4和v7包不一至,我换了sdk\extras\android\support文件夹下的 v4和v7依然没能解决,网上有人说用

sdk\extras\android\m2repository\com\android\support\recyclerview-v7\[版本号]  选择版本号 打开后找到recyclerview-v7-21.0.0.aar 然后解压 找到class.jar然后我将名字改为android-support-v7-recyclerview.jar

我试了 21 ,22,22.2,23.0版本都不行,我的开发环境是eclipse sdk 5.1.1

最后没办法我将sdk\extras\android\support\v7\recyclerview 项目导入到eclipse工程中 然后设置成类库 然后项目引用这个类型 在次运行 就没问题了

不知道是什么原因或者说自带的jar包是不是少什么东西,一直没解决如果有解决的或是什么原因引用的还望告知^0^

SwipeRefreshLayout 和RecyclerView 使用的更多相关文章

  1. SwipeRefreshLayout和RecyclerView滑动冲突的解决

    做了个项目,用了support包里的SwipeRefreshLayout和RecyclerView.两者一起使用有一点点小问题,有时候拉着拉着,列表还没拉玩就出来刷新的图标了,在华为荣耀上尤为明显. ...

  2. 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉载入很多其它

    一.概述 本篇博客介绍的是怎样使用SwipeRefreshLayout和RecyclerView实现高仿简书Android端的下拉刷新和上拉载入很多其它的效果. 依据效果图能够发现,本案例实现了例如以 ...

  3. SwipeRefreshLayout和RecyclerView类

    1 SwipeRefreshLayout和RecyclerView之间的关系 内容栏上下滚动是RecyclerView控制的,只有当内容栏滑动到最顶上时,再也拉不动了的时候,这个时候将动作交给Swip ...

  4. 【FastDev4Android框架开发】RecyclerView完全解析之下拉刷新与上拉加载SwipeRefreshLayout(三十一)

    转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/49992269 本文出自:[江清清的博客] (一).前言: [好消息] ...

  5. RecyclerView再封装

    RecyclerView做为ListView的替代品,已经出了很久了,既然是替代品,那自然有些ListView没有的优点.比如说:可以随意切换list,grid,stagger.可以指定一个或多个it ...

  6. scrollview嵌套下拉控件嵌套recyclerview(不动第三方原基础自定义)

    相信会碰到很多类似的需求,一个列表控件,然后控件上方的一个头部需要自定义,这样就不好有时候也不能加在列表控件的头部了,那必须得嵌套一层scrollview了,没毛病,那么一般的列表控件都是有上拉下拉的 ...

  7. 手把手教你实现Android RecyclerView上拉加载功能

    摘要 一直在用到RecyclerView时都会微微一颤,因为一直都没去了解怎么实现上拉加载,受够了每次去Github找开源引入,因为感觉就为了一个上拉加载功能而去引入一大堆你不知道有多少BUG的代码, ...

  8. Recyclerview 实现上拉加载更多

    LinearLayoutManager layoutManager; layoutManager = new LinearLayoutManager(getActivity()); layoutMan ...

  9. RecyclerView下拉刷新上拉加载更多

    现在Android里都建议用RecyclerView代替ListView和GridView,所以下拉刷新和上拉加载更多也需要实现.下拉刷新可以用SwipeRefreshLayout 包裹Recycle ...

随机推荐

  1. LeetCode – First Missing Positive

    Given an unsorted integer array, find the smallest missing positive integer. Example 1: Input: [1,2, ...

  2. 使用VUE搭建tab标签组件

    Vue2.0 多 Tab切换组件简单封装,满足自己简单的功能,可以直接拿去使用! 首先上效果图: 功能简单介绍: 1.支持tab切换 2.支持tab定位 3.支持tab自动化 仿React多Tab实现 ...

  3. Mongo 3.6.1版本Sharding集群配置

    Mongo低版本和高版本的sharding集群配置,细节不太一样.目前网上的配置文档大都是针对低版本的.本人在配置3.6.1版本的mongosharding集群的过程中,碰到不少问题,官方文档没有直观 ...

  4. 普林斯顿数学指南(第二卷) (Timothy Gowers 著)

    第IV部分 数学的各个分支 IV.1 代数数 IV.2 解析数论 IV.3 计算数论 IV.4 代数几何 IV.5 算术几何 IV.6 代数拓扑 IV.7 微分拓扑 IV.8 模空间 IV.9 表示理 ...

  5. Redis&MongoDB&Zookeeper&Kafka

    目录 Redis MongoDB Zookeeper Kafka Redis 概念 Redis是NoSQL中比较常典型的一个非关系型数据库,在日常工作中也是最为常见的.Redis是一个由C语言编写的开 ...

  6. Day 37 视图、存储过程、触发器、函数、事物、锁

    一 .存储过程 1 create view stu_view as select * from ren 视图:是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据 视图有 ...

  7. 【转】iOS编译OpenSSL静态库(使用脚本自动编译)

    原文网址:https://www.jianshu.com/p/651513cab181 本篇文章为大家推荐两个脚本,用来iOS系统下编译OpenSSL通用库,如果想了解编译具体过程,请参看<iO ...

  8. cvs报错: socket exception recv failed

    连接都OK的. 也可以telnet到服务器上去. 网上的各种方法都试了,没法解决. 后来一直在乱试,居然解决了. 就是这样设置的,选中第一个复选框.

  9. linux 安装多个版本JDK,指定tomcat的jdk版本

    JDK的下载可以直接到官网下载,这里不再介绍 一.安装JDK 7 vi /etc/profile #set java environmentexport JAVA_HOME=/usr/java/jdk ...

  10. ASP.NET AJAX入门系列(11):在多个UpdatePanle中使用Timer控件

    本文将使用Timer控件更新两个UpdatePanel控件,Timer控件将放在UpdatePanel控件的外面,并将它配置为UpdatePanel的触发器,翻译自官方文档. 主要内容 在多个Upda ...