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 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题