Listview重新调整

时间:2013-11-27 07:38:25

标签: android listview android-listview

我创建了一个列表视图。在列表视图上滑动时,将显示一个用于删除列表的按钮。但如果我按取消,列表保持不变。我希望列表将列表重新对齐到其原始位置。 我附上了截图。

最初列表视图显示如下

enter image description here

滑动后

enter image description here

按下警告

中的取消按钮后

enter image description here

2 个答案:

答案 0 :(得分:0)

您尚未发布代码,因此很难判断可能是什么原因,但您可以尝试使您显示和隐藏删除按钮的特定行的视图无效。另外,为了隐藏删除按钮,请尝试设置yourDeleteButton.setVisibility(View.GONE);

我希望这会有所帮助。

答案 1 :(得分:0)

  1. 使用带有可见性ListViewINVISIBLE的删除按钮制作自定义GONE项。
  2. 使用GestureDetector注册ListViewonTouch个活动:

    mList.setOnTouchListener(new View.OnTouchListener(){

    @Override
    public boolean onTouch(View v, MotionEvent event) {             
        return mGestureDetector.onTouchEvent(event);
    }
    });
    
  3. 您可以阅读更多here

    1. 使用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;
          }
      
    2. 在适配器内创建show的方法并隐藏删除。要刷新视图,请使用mAdapter.notifyDataSetChanged();