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