android上拉刷新的方案,Android左滑删除+上拉加载上拉刷新+全部删除

如题先上图(毕竟是新手,GIF还是不会,敬请谅解)

93b8656e0197

image.png

93b8656e0197

image.png

93b8656e0197

image.png

93b8656e0197

image.png

93b8656e0197

image.png

93b8656e0197

image.png

产品原型:

可加载,可单条删除,多条删除

解决方案:

整合上拉加载下拉刷新(PullToRefreshView)+ 左滑删除(RecyclerView+SlidingButtonView)

主要代码:

1.删除代码

/**

* 删除菜单打开信息接收

*/

@Override

public void onMenuIsOpen(View view) {

mMenu = (SlidingButtonView) view;

}

/**

* 滑动或者点击了Item监听

*

* @param slidingButtonView

*/

@Override

public void onDownOrMove(SlidingButtonView slidingButtonView) {

if (menuIsOpen()) {

if (mMenu != slidingButtonView) {

closeMenu();

}

}

}

/**

* 关闭菜单

*/

public void closeMenu() {

mMenu.closeMenu();

mMenu = null;

}

/**

* 判断是否有菜单打开

*/

public Boolean menuIsOpen() {

if (mMenu != null) {

return true;

}

return false;

}

public interface IonSlidingViewClickListener {

void onItemClick(View view, int position);

void onDeleteBtnClick(View view, int position);

}

public interface RadioClickListener {

void onCheckClick(View view, boolean isCheck, int position);

}

public void selectAll() { // 全选

for (int i = 0; i < mList.size(); i++) {

map.put(i, true);

}

notifyDataSetChanged();

}

public void disSelectAll() { // 全不选

for (int i = 0; i < mList.size(); i++) {

map.put(i, false);

}

notifyDataSetChanged();

}

public void switchSelect() { // 反选

for (int i = 0; i < mList.size(); i++) {

boolean select = map.get(i);

map.put(i, !select);

}

notifyDataSetChanged();

}

public void removeData(int position) {

mList.remove(position);

notifyItemRemoved(position);

}

public void removeAllData(List list1) {

mList.removeAll(list1);

notifyDataSetChanged();

}

public static int getScreenWidth(Context context) {

WindowManager wm = (WindowManager) context

.getSystemService(Context.WINDOW_SERVICE);

DisplayMetrics outMetrics = new DisplayMetrics();

wm.getDefaultDisplay().getMetrics(outMetrics);

return outMetrics.widthPixels;

}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值