woaixuexi1209 2015-05-26 05:22 采纳率: 0%
浏览 1506

fragment的滑动删除 反应很顿

我在listview的getview里面写了滑动删除,可是反应很顿,老是滑不出来,
体验效果不好,网上看到的都是在activity中用的,我试了,当切换fragment的时候,还是存在的
大家有好的方法吗?/??谢谢了

// 为每一个view项设置触控监听
convertView.setOnTouchListener(new OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {
                final ListViewHolder holder = (ListViewHolder) v.getTag();
                // 当按下时处理
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    // //设置背景为选中状态
                    // v.setBackgroundResource(R.drawable.mm_listitem_pressed);
                    // 获取按下时的x轴坐标
                    x = event.getX();
                    // Toast.makeText(mContext, x+"", 1).show();
                    // 判断之前是否出现了删除按钮如果存在就隐藏
                    if (curDel_btn != null) {
                        // if(curDel_btn.getVisibility() == View.VISIBLE){
                        curDel_btn.setVisibility(View.GONE);
                        return true;
                        // }
                    }

                } else if (event.getAction() == MotionEvent.ACTION_UP) {// 松开处理
                    // 设置背景为未选中正常状态
                    // v.setBackgroundResource(R.drawable.mm_listitem_simple);
                    // 获取松开时的x坐标
                    ux = event.getX();
                    // 怎么没用松开的坐标呢
                    // 判断当前项中按钮控件不为空时
                    if (holder.del != null) {

                        // 按下和松开绝对值差当大于20时显示删除按钮,否则不显示

                        if (Math.abs(x - ux) > 20) {
                            holder.del.setVisibility(View.VISIBLE);
                            curDel_btn = holder.del;
                            return true;
                        }
                    }
                } else if (event.getAction() == MotionEvent.ACTION_MOVE) {// 当滑动时背景为选中状态
                    return true;
                    // v.setBackgroundResource(R.drawable.mm_listitem_pressed);

                } else {// 其他模式
                    // 设置背景为未选中正常状态
                    // v.setBackgroundResource(R.drawable.mm_listitem_simple);

                }

                return true;
            }

        });
  • 写回答

2条回答

  • bdmh 移动开发领域优质创作者 2015-05-26 05:26
    关注

    你可以考虑用nineoldandroids-2.4.0.jar或者网上有人实现了,你看看他们代码如何写的,比如
    http://blog.csdn.net/xiaanming/article/details/17539199

    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?