您好,登錄后才能下訂單哦!
ListView的列表項滑動刪除可以通過以下步驟實現:
public View getView(final int position, View convertView, ViewGroup parent) {
// 獲取列表項的視圖
View view = convertView;
// 添加滑動刪除的手勢監聽器
view.setOnTouchListener(new SwipeToDeleteGestureListener(context) {
@Override
public void onSwipeLeft() {
// 處理左滑刪除的邏輯
// 刪除列表項數據
dataList.remove(position);
notifyDataSetChanged();
}
});
return view;
}
public abstract class SwipeToDeleteGestureListener implements View.OnTouchListener {
private static final int SWIPE_THRESHOLD = 100;
private static final int SWIPE_VELOCITY_THRESHOLD = 100;
private GestureDetectorCompat gestureDetector;
public SwipeToDeleteGestureListener(Context context) {
gestureDetector = new GestureDetectorCompat(context, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
float distanceX = e2.getX() - e1.getX();
if (Math.abs(distanceX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
if (distanceX > 0) {
onSwipeRight();
} else {
onSwipeLeft();
}
return true;
}
return false;
}
});
}
@Override
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
public abstract void onSwipeLeft();
public abstract void onSwipeRight();
}
通過以上步驟,就可以實現ListView的列表項滑動刪除功能。當用戶左滑某個列表項時,該列表項會被刪除,并且列表會刷新顯示。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。