我创建了一个列表视图。在列表视图上滑动时,将显示一个用于删除列表的按钮。但如果我按取消,列表保持不变。我希望列表将列表重新对齐到其原始位置。 我附上了截图。
最初列表视图显示如下
答案 0 :(得分:0)
您尚未发布代码,因此很难判断可能是什么原因,但您可以尝试使您显示和隐藏删除按钮的特定行的视图无效。另外,为了隐藏删除按钮,请尝试设置yourDeleteButton.setVisibility(View.GONE);
我希望这会有所帮助。
答案 1 :(得分:0)
ListView
或INVISIBLE
的删除按钮制作自定义GONE
项。使用GestureDetector注册ListView
到onTouch
个活动:
mList.setOnTouchListener(new View.OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
return mGestureDetector.onTouchEvent(event);
}
});
您可以阅读更多here
使用GestureDetector.SimpleOnGestureListener
onFling:
public boolean onFling(MotionEvent e1,MotionEvent e2,float velocityX,float velocityY){
int dx = (int)(e1.getX() - e2.getX());
int dy = (int)(e1.getY() - e2.getY());
int pos = mList.pointToPosition((int) e1.getX(), (int) e1.getY());
Log.i("Fling", "Fling " + dx + " pos: " + pos);
if ((Math.abs(dx) >= FLING_X_TRESHOLD) && (Math.abs(dy) < FLING_Y_TRESHOLD)) {
if(dx > 0){ //RTL - show
mAdapter.showDeleteButton(pos);
}else{
mAdapter.hideDeleteButton(pos);
}
}
return false;
}
在适配器内创建show的方法并隐藏删除。要刷新视图,请使用mAdapter.notifyDataSetChanged();