簡體   English   中英

長時間單擊后,Recyclerview拖動操作

[英]Recyclerview drag operation after item long click

用戶長按Recyclerview項目並向下或向上滑動后,我嘗試執行拖動操作。 長按時,我已經啟動了動作模式,因此在長按后用戶向下/向上滑動后,只需拖動即可。 我嘗試在Recyclerview上實現onTouch偵聽器,但未收到ACTION_DOWN事件。 釋放手指時,它僅接收ACTION_MOVE和ACTION_UP。 在手勢偵聽器中,我開始拖動。 但是在這種情況下如何捕獲ACTION_DOWN或向下/向上滑動?

我不想移動諸如ItemTouchHelper或“拖動排序”列表視圖之類的項目。

 recyclerAdapter.setOnItemLongClickListener(new Recycler.OnItemLongClickListener() {
        @Override
        public void onItemLongClick(View view, int position) {
                getActivity().startActionMode(this);
                mStartDrag = true;
   }});

recyclerViewList.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            Logger.log("TAG", "On item touch"+ motionEvent.getActionMasked()); // Returns 2 (ACTION_MOVE)

            if (mStartDrag) {

                if (gestureDetector.onTouchEvent(motionEvent)) {
                    return false;
                }
            }
            return false;
        }
    });
viewHolder.drag.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            mStartDragListener.onStartDrag(viewHolder);
            return false;
        }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM