ฉันใช้ Recyclerview 22.2.0 และคลาสผู้ช่วย ItemTouchHelper.SimpleCallback เพื่อเปิดใช้งานตัวเลือกปัดเพื่อปิดในรายการของฉัน แต่เนื่องจากฉันมีส่วนหัวประเภทหนึ่งอยู่ฉันจึงต้องปิดใช้งานพฤติกรรมการปัดสำหรับตำแหน่งแรกของอะแดปเตอร์ เนื่องจากRecyclerView.Adapterไม่มีเมธอด isEnabled ()ฉันจึงพยายามปิดใช้งานการโต้ตอบมุมมองผ่านเมธอดisEnabled ()และisFocusable ()ในการสร้าง ViewHolder แต่ไม่ประสบความสำเร็จ ฉันพยายามปรับเกณฑ์การปัดเป็นค่าเต็มเช่น0f ot 1fในเมธอดgetSwipeThreshold ()ของSimpleCallbackแต่ก็ไม่ประสบความสำเร็จเช่นกัน
รหัสบางส่วนของฉันเพื่อช่วยให้คุณช่วยฉันได้
กิจกรรมของฉัน:
@Override
protected void onCreate(Bundle bundle) {
    //... initialization
    ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0,
            ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
        @Override
        public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder,
                          RecyclerView.ViewHolder target) {
            return false;
        }
        @Override
        public float getSwipeThreshold(RecyclerView.ViewHolder viewHolder) {
            if (viewHolder instanceof CartAdapter.MyViewHolder) return 1f;
            return super.getSwipeThreshold(viewHolder);
        }
        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
        }
    };
    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback);
    itemTouchHelper.attachToRecyclerView(recyclerView);
}
และฉันมีอะแดปเตอร์ทั่วไปที่มีมุมมองสองประเภท ในViewHolderที่ฉันต้องการปิดใช้งานการปัดฉันทำ:
public static class MyViewHolder extends RecyclerView.ViewHolder {
    public ViewGroup mContainer;
    public MyViewHolder(View v) {
        super(v);
        v.setFocusable(false);
        v.setEnabled(false);
        mContainer = (ViewGroup) v.findViewById(R.id.container);      
    }
}