在adapter中创建被调用方法cleckAll

public class JYfkleixinAdapter extends RecyclerView.Adapter<JYfkleixinAdapter.ViewHolder> {private Context context;private OnItemClickListener mOnItemClickListener;private List<JyfkEntity> entityList;public JYfkleixinAdapter(Context context, List<JyfkEntity> entities) {this.context = context;this.entityList = entities;}@Overridepublic JYfkleixinAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_jyfk, null);JYfkleixinAdapter.ViewHolder holder = new JYfkleixinAdapter.ViewHolder(view);return holder;}@Overridepublic void onBindViewHolder(final JYfkleixinAdapter.ViewHolder holder, int position) {JyfkEntity entity = entityList.get(position);//        ImageManager.loadBitmap(context, entity.getBimage(), R.mipmap.itemx_03, holder.item_intnb_image);try{holder.jyfkte.setText(entity.getName());//网吧名称if (entity.isIfselect()){holder.jyfkimage.setSelected(true);}else {holder.jyfkimage.setSelected(false);}}catch(Exception e){e.printStackTrace();}//判断是否设置了监听器if (mOnItemClickListener != null) {//为ItemView设置监听器-holder.itemView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {int position = holder.getLayoutPosition(); // 1mOnItemClickListener.onItemClick(holder.itemView, position); // 2}});}}@Overridepublic int getItemCount() {return entityList.size();}public class ViewHolder extends RecyclerView.ViewHolder {@BindView(R.id.jyfkte)TextView jyfkte;@BindView(R.id.jyfkimage)ImageView jyfkimage;public ViewHolder(View itemView) {super(itemView);ButterKnife.bind(this, itemView);}}public interface OnItemClickListener {void onItemClick(View view, int position);}public void setOnItemClickListener(OnItemClickListener onItemClickListener) {this.mOnItemClickListener = onItemClickListener;}//  删除 打勾 全选public void cleckAll(int  is_checked) { //全选 删除多少那里要删除全部for (int a = 0;a<entityList.size();a++){if (is_checked==a){entityList.get(a).setIfselect(true);}else {entityList.get(a).setIfselect(false);}}notifyDataSetChanged();}}

在activity中调用刷新UI

public void initrecyclerview(){barAdapter = new JYfkleixinAdapter(JYfkActivity.this,barEntityList);barAdapter.setOnItemClickListener(new JYfkleixinAdapter.OnItemClickListener() {@Overridepublic void onItemClick(View view, int position) {barAdapter.cleckAll(position);jylx = barEntityList.get(position).getName();}});jyfkrecyclerview.setLayoutManager(new LinearLayoutManager(JYfkActivity.this));jyfkrecyclerview.setAdapter(barAdapter);jyfkrecyclerview.setNestedScrollingEnabled(false);//禁止滑动jyfkrecyclerview.setFocusable(false);//导航栏切换不再focuse
}

adpter工具类

public abstract class BaseRecyclerAdapter<T>extends RecyclerView.Adapter<BaseRecyclerAdapter.CommonHolder> {private BaseRecyclerAdapter.OnItemClickListener mOnItemClickListener;private BaseRecyclerAdapter.OnItemLongClickListener mOnItemLongClickListener;public interface OnItemClickListener {void onItemClick(ViewGroup parent,BaseRecyclerAdapter.CommonHolder holder, int position);}public interface OnItemLongClickListener {boolean onItemLongClick(ViewGroup parent,BaseRecyclerAdapter.CommonHolder holder, int position);}protected final ArrayList<T> mData;public BaseRecyclerAdapter() {mData = new ArrayList<>();}@Overridepublic BaseRecyclerAdapter.CommonHolder onCreateViewHolder(final ViewGroup parent, int viewType) {final BaseRecyclerAdapter.CommonHolder commonHolder = createCommonHolder(parent, viewType);View view = commonHolder.itemView;setChildViewListener(commonHolder, viewType);view.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (mOnItemClickListener != null&& commonHolder.getAdapterPosition() != RecyclerView.NO_POSITION) {mOnItemClickListener.onItemClick(parent, commonHolder,commonHolder.getAdapterPosition());}}});view.setOnLongClickListener(new View.OnLongClickListener() {@Overridepublic boolean onLongClick(View v) {if (mOnItemLongClickListener != null&& commonHolder.getAdapterPosition() != RecyclerView.NO_POSITION) {return mOnItemLongClickListener.onItemLongClick(parent, commonHolder,commonHolder.getAdapterPosition());} else {return false;}}});return commonHolder;}/*** 创建通用Holder,子类可以重写这个方法** @param parent* @param viewType* @return*/public BaseRecyclerAdapter.CommonHolder createCommonHolder(ViewGroup parent, int viewType) {View view = LayoutInflater.from(parent.getContext()).inflate(getItemLayoutId(viewType), parent, false);return new BaseRecyclerAdapter.CommonHolder(view);}/*** 设置子控件的监听事件,可以通过{@link RecyclerView.ViewHolder#getAdapterPosition()}拿到item的位置** @param holder*/public void setChildViewListener(BaseRecyclerAdapter.CommonHolder holder, int viewType) {// 默认空实现}@Overridepublic int getItemCount() {return mData.size();}public List<T> getData() {return mData;}/*** 获取item布局** @return*/public abstract int getItemLayoutId(int viewType);/*** 删除数据** @param position*/public void delete(int position) {mData.remove(position);notifyDataSetChanged();}/*** 获取item** @param position* @return*/public T getItem(int position) {return mData.get(position);}/*** 设置新数据** @param data*/public void setNewData(List<? extends T> data) {mData.clear();if (data != null) {mData.addAll(data);}notifyDataSetChanged();}/*** 追加数据** @param data*/public void appendData(List<? extends T> data) {if (data != null && data.size() > 0) {mData.addAll(data);notifyDataSetChanged();}}/*** 添加单个数据** @param data*/public void addData(T data) {if (data != null) {mData.add(data);notifyDataSetChanged();}}/*** 设置点击事件** @param onItemClickListener*/public void setOnItemClickListener(BaseRecyclerAdapter.OnItemClickListener onItemClickListener) {mOnItemClickListener = onItemClickListener;}/*** 设置长按事件** @param onItemLongClickListener*/public void setOnItemLongClickListener(BaseRecyclerAdapter.OnItemLongClickListener onItemLongClickListener) {mOnItemLongClickListener = onItemLongClickListener;}public static class CommonHolder extends RecyclerView.ViewHolder {private SparseArray<View> mViews;public CommonHolder(View itemView) {super(itemView);mViews = new SparseArray<>();}public Context getContext() {return itemView.getContext();}public Resources getResource() {return itemView.getResources();}public <V extends View> V getView(int id) {View view = mViews.get(id);if (view == null) {view = itemView.findViewById(id);mViews.put(id, view);}return (V) view;}public void setText(int id, CharSequence text) {((TextView) getView(id)).setText(text);}public TextView getText(int id) {return getView(id);}public ImageView getImage(int id) {return getView(id);}}
}

实现方法

public class ShebeilistAdapter extends BaseRecyclerAdapter<String> {private Context mContext;private ClickListener mClickListener;@Overridepublic int getItemLayoutId(int viewType) {return R.layout.item_shebei;}public ShebeilistAdapter(Context context) {this.mContext = context;}@Overridepublic void onBindViewHolder(CommonHolder holder, final int position) {TextView pic = holder.getText(R.id.namete);pic.setText(getItem(position));LinearLayout linearLayout = holder.getView(R.id.bgli);
//        if (position%2==0){
//            linearLayout.setBackgroundColor(Color.parseColor ("#7Fe5e5e5"));
//        }else {
//            linearLayout.setBackgroundColor(Color.parseColor ("#ffffff"));
//        }}public void setClickListener(ClickListener clickListener) {this.mClickListener = clickListener;}public interface ClickListener {void add(int position);void preview(int position);}}

调用方法

ShebeilistAdapter adapter;
adapter = new ShebeilistAdapter(this);
adapter.setNewData(list);
helper.setText(R.id.tx_username, item.getNickname()).setText(R.id.tx_time, NewsTimeChangeUtil.getTimeFormatText(new Date(item.getCtime() * 1000))).setText(R.id.tx_content, item.getContent()).setText(R.id.tx_discuss_num, item.getComment() + "").setText(R.id.cb_zan_num, item.getLikes() + "").addOnClickListener(R.id.cb_collect)
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {@Overridepublic void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {switch (view.getId()) {case R.id.ll_cb_collectjb:Log.e("lgqhttp","举报。。。。");break;

android activity调用Adapter方法刷新列表UI,RecyclerView.Adapter相关推荐

  1. android自带下拉阻尼动画,android 有阻尼下拉刷新列表的实现方法

    本文将会介绍有阻尼下拉刷新列表的实现,先来看看效果预览: 这是下拉状态: 这是下拉松开手指后listView回滚到刷新状态时的样子: 1. 如何调用 虽然效果图看起来样子不太好看,主要是因为那个蓝色的 ...

  2. android如何调用接口方法,在Android中访问WebService接口的方法

    需要引入ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar 代码如下: //WebService的命名空间 static final Str ...

  3. Android WebView 调用JS方法获取返回值

    一.Android4.4+ 如果你项目的minSdkVersion 为4.4 以上,那么你可以直接通过WebView的evaluateJavascript()方法 拿到JS方法的返回值 webview ...

  4. android 连续调用js方法,Android的WebView中的JavascriptInterface:对JS的多次调用会导致死锁...

    这是我用过的整个Java代码.我将在下面更详细地解释... public class Test7 extends Activity { //debug private final static Str ...

  5. android原生调用nextjs方法,详解使用Next.js构建服务端渲染应用

    next.js简介 最近在学React.js,React官方推荐使用next.js框架作为构建服务端渲染的网站,所以今天来研究一下next.js的使用. next.js作为一款轻量级的应用框架,主要用 ...

  6. Android Activity的onRestart()方法

    先说下Activity 几种情况的生命周期流程 1 Activity 第一次启动的时候生命周期 onCreate----->onStart------>onResume 2 锁屏的时候 o ...

  7. android原生调用nextjs方法,nextjs踩坑

    Next.js踩坑 几乎一整年没咋写文章,主要是懒,加上工作也挺忙.但是想趁着年底发一篇,希望明年更勤奋一点.其实不是没东西写,就是想深入一个东西还是很困难的,要查各种资料,最终还是懒就是了. nex ...

  8. android电脑文件列表不刷新,Android 利用RecyclerView.Adapter刷新列表中的单个view问题...

    首先使用RecyclerView的adapter继承:RecyclerView.Adapter public class OrderListAdapter extends RecyclerView.A ...

  9. Android UI RecyclerView讲解

    前言 RecyclerView是Android 5.0之后推出的列表类控件,具有高度的解耦性和灵活性.通过使用合适的LayoutManager,可以实现ListView.横向ListView.Grid ...

最新文章

  1. java开发后台技术_java开发后台的技术
  2. View Animation
  3. 【已解决】“The import java.sql.Connection conflicts with a type defined in the same file“
  4. 那信息闭塞的地方 飞秋官方下载
  5. [开心学php100天]第五天:string函数(上)
  6. 开发者70行代码破解苹果OSX远程锁定安全功能
  7. Leetcode 279 完美平方数
  8. 下载devc++和codeblocks记录
  9. python在线游戏_几个简单的python小游戏
  10. Cordova 插件详解
  11. Origin | 堆叠柱状图 | 多列(分组)堆积柱状图
  12. 【Python】接收UDP数据(保姆级图文+附测试工具文件+api例程)
  13. case when 多条件查询
  14. uniapp:一个多边形图片裁剪插件
  15. zepoto.js的使用
  16. ios 开发中遇到的一些问题
  17. 前端下载 “不支持打开该类型文件或文件已损坏“问题
  18. 1009 type C 与DP检测,USB3.0与PD协议
  19. 爬虫——动作链、xpath、打码平台使用
  20. 信息网络传播权 服务器,信息网络传播权的特征

热门文章

  1. [vue] 说说你对vue的extend(构造器)的理解,它主要是用来做什么的?
  2. [css] z-index有时不起作用的原因是什么?怎么解决?
  3. [css] 说下你对css样式的这几个属性值initial、inherit、unset、revert的理解
  4. 前端学习(2370):组件之间的通讯方式
  5. “约见”面试官系列之常见面试题之第六十六篇之事件委托的原理和实现(建议收藏)
  6. 前端学习(1803):前端调试之事件伪类练习二
  7. 前端学习(1406):多人管理26邮箱地址是否存在
  8. 前端学习(761):什么是对象为什么需要对象
  9. 前端学习(594):network面板
  10. 第十二题:设int x=1,float y=2,则表达式x/y的值是: