আমি আমার তালিকার সোয়াইপ-টু-খারিজ বিকল্পটি সক্ষম করতে আমি পুনর্ব্যবহারযোগ্য ২২.২.০ এবং সহায়ক শ্রেণি আইটেম টাচহেল্পার ব্যবহার করছি imp সিম্পলক্যালব্যাক । তবে এতে আমার এক ধরণের শিরোনাম রয়েছে, তাই অ্যাডাপ্টারের প্রথম অবস্থানের জন্য আমাকে সোয়াইপ আচরণটি অক্ষম করতে হবে। হিসাবে RecyclerView.Adapter একটি নেই isEnabled () পদ্ধতি, আমি পদ্ধতিগুলির মাধ্যমে দৃশ্য মিথষ্ক্রিয়া অক্ষম করার চেষ্টা isEnabled () এবং isFocusable () ViewHolder সৃষ্টি নিজেই, কিন্তু কোন সাফল্য ছিল। আমি একটি পূর্ণ মান সোয়াইপ থ্রেশহোল্ড সমন্বয় করার চেষ্টা মত 0f OT 1F SimpleCallback এর পদ্ধতিতে getSwipeThreshold () , কিন্তু কোন সাফল্য খুব।
আমার কোডটির কিছু টুকরো আমাকে সাহায্য করতে আপনাকে সহায়তা করার জন্য।
আমার ক্রিয়াকলাপ:
@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);
}
}