您好,登錄后才能下訂單哦!
ListView的列表項(xiàng)滑動(dòng)刪除可以通過以下步驟實(shí)現(xiàn):
public View getView(final int position, View convertView, ViewGroup parent) {
// 獲取列表項(xiàng)的視圖
View view = convertView;
// 添加滑動(dòng)刪除的手勢(shì)監(jiān)聽器
view.setOnTouchListener(new SwipeToDeleteGestureListener(context) {
@Override
public void onSwipeLeft() {
// 處理左滑刪除的邏輯
// 刪除列表項(xiàng)數(shù)據(jù)
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();
}
通過以上步驟,就可以實(shí)現(xiàn)ListView的列表項(xiàng)滑動(dòng)刪除功能。當(dāng)用戶左滑某個(gè)列表項(xiàng)時(shí),該列表項(xiàng)會(huì)被刪除,并且列表會(huì)刷新顯示。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。