日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android activity调用Adapter方法刷新列表UI,RecyclerView.Adapter

發(fā)布時間:2023/12/10 编程问答 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android activity调用Adapter方法刷新列表UI,RecyclerView.Adapter 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在adapter中創(chuàng)建被調(diào)用方法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());//網(wǎng)吧名稱if (entity.isIfselect()){holder.jyfkimage.setSelected(true);}else {holder.jyfkimage.setSelected(false);}}catch(Exception e){e.printStackTrace();}//判斷是否設(shè)置了監(jiān)聽器if (mOnItemClickListener != null) {//為ItemView設(shè)置監(jiān)聽器-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中調(diào)用刷新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);//導(dǎo)航欄切換不再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;}/*** 創(chuàng)建通用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);}/*** 設(shè)置子控件的監(jiān)聽事件,可以通過{@link RecyclerView.ViewHolder#getAdapterPosition()}拿到item的位置** @param holder*/public void setChildViewListener(BaseRecyclerAdapter.CommonHolder holder, int viewType) {// 默認(rèn)空實現(xiàn)}@Overridepublic int getItemCount() {return mData.size();}public List<T> getData() {return mData;}/*** 獲取item布局** @return*/public abstract int getItemLayoutId(int viewType);/*** 刪除數(shù)據(jù)** @param position*/public void delete(int position) {mData.remove(position);notifyDataSetChanged();}/*** 獲取item** @param position* @return*/public T getItem(int position) {return mData.get(position);}/*** 設(shè)置新數(shù)據(jù)** @param data*/public void setNewData(List<? extends T> data) {mData.clear();if (data != null) {mData.addAll(data);}notifyDataSetChanged();}/*** 追加數(shù)據(jù)** @param data*/public void appendData(List<? extends T> data) {if (data != null && data.size() > 0) {mData.addAll(data);notifyDataSetChanged();}}/*** 添加單個數(shù)據(jù)** @param data*/public void addData(T data) {if (data != null) {mData.add(data);notifyDataSetChanged();}}/*** 設(shè)置點擊事件** @param onItemClickListener*/public void setOnItemClickListener(BaseRecyclerAdapter.OnItemClickListener onItemClickListener) {mOnItemClickListener = onItemClickListener;}/*** 設(shè)置長按事件** @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);}} }

實現(xiàn)方法

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

?

調(diào)用方法

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;

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的android activity调用Adapter方法刷新列表UI,RecyclerView.Adapter的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。