একটি গতিশীল তালিকা কাস্টমাইজ করুন অ্যান্ড্রয়েড জেটপ্যাকের অংশ।
 আপনার নির্দিষ্ট চাহিদা পূরণের জন্য আপনি RecyclerView অবজেক্টগুলিকে কাস্টমাইজ করতে পারেন। Create dynamic lists with RecyclerView- এ বর্ণিত স্ট্যান্ডার্ড ক্লাসগুলি বেশিরভাগ ডেভেলপারদের প্রয়োজনীয় সমস্ত কার্যকারিতা প্রদান করে। অনেক ক্ষেত্রে, আপনাকে কেবল প্রতিটি ভিউ হোল্ডারের জন্য ভিউ ডিজাইন করতে হবে এবং উপযুক্ত ডেটা দিয়ে সেই ভিউগুলি আপডেট করার জন্য কোড লিখতে হবে। তবে, যদি আপনার অ্যাপের নির্দিষ্ট প্রয়োজনীয়তা থাকে, তাহলে আপনি বিভিন্ন উপায়ে স্ট্যান্ডার্ড আচরণ পরিবর্তন করতে পারেন। এই ডকুমেন্টটি সম্ভাব্য কিছু কাস্টমাইজেশন বর্ণনা করে।
লেআউট পরিবর্তন করুন
 RecyclerView একটি লেআউট ম্যানেজার ব্যবহার করে স্ক্রিনে পৃথক আইটেমগুলিকে স্থাপন করে এবং ব্যবহারকারীর কাছে আর দৃশ্যমান নয় এমন আইটেম ভিউগুলি কখন পুনরায় ব্যবহার করতে হবে তা নির্ধারণ করে। একটি ভিউ পুনরায় ব্যবহার করতে—অথবা পুনর্ব্যবহার করতে —একটি লেআউট ম্যানেজার অ্যাডাপ্টারকে ডেটাসেট থেকে ভিন্ন একটি উপাদান দিয়ে ভিউয়ের বিষয়বস্তু প্রতিস্থাপন করতে বলতে পারে। এইভাবে রিসাইক্লিং ভিউ অপ্রয়োজনীয় ভিউ তৈরি এড়িয়ে বা ব্যয়বহুল findViewById() লুকআপ সম্পাদন করে কর্মক্ষমতা উন্নত করে। অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরিতে তিনটি স্ট্যান্ডার্ড লেআউট ম্যানেজার রয়েছে, যার মধ্যে অনেকগুলি কাস্টমাইজেশন বিকল্প রয়েছে:
-  
LinearLayoutManager: আইটেমগুলিকে এক-মাত্রিক তালিকায় সাজায়।LinearLayoutManagerএর সাথেRecyclerViewব্যবহার করলেListViewলেআউটের মতো কার্যকারিতা পাওয়া যায়। -  
GridLayoutManager: আইটেমগুলিকে একটি দ্বি-মাত্রিক গ্রিডে সাজায়, যেমন একটি চেকারবোর্ডের বর্গক্ষেত্র।GridLayoutManagerএর সাথে একটিRecyclerViewব্যবহার করলেGridViewলেআউটের মতো কার্যকারিতা পাওয়া যায়। -  
StaggeredGridLayoutManager: আইটেমগুলিকে একটি দ্বি-মাত্রিক গ্রিডে সাজায়, প্রতিটি কলাম পূর্ববর্তী কলাম থেকে সামান্য অফসেট করে, যেমন আমেরিকান পতাকার তারা। 
 যদি এই লেআউট ম্যানেজারগুলি আপনার প্রয়োজন অনুসারে না হয়, তাহলে আপনি RecyclerView.LayoutManager অ্যাবস্ট্রাক্ট ক্লাসটি প্রসারিত করে আপনার নিজস্ব তৈরি করতে পারেন।
আইটেম অ্যানিমেশন যোগ করুন
 যখনই কোনও আইটেম পরিবর্তন হয়, তখন RecyclerView তার চেহারা পরিবর্তন করার জন্য একটি অ্যানিমেটর ব্যবহার করে। এই অ্যানিমেটরটি এমন একটি অবজেক্ট যা অ্যাবস্ট্রাক্ট RecyclerView.ItemAnimator ক্লাসকে প্রসারিত করে। ডিফল্টরূপে, RecyclerView অ্যানিমেশন প্রদানের জন্য DefaultItemAnimator ব্যবহার করে। আপনি যদি কাস্টম অ্যানিমেশন প্রদান করতে চান, তাহলে আপনি RecyclerView.ItemAnimator প্রসারিত করে আপনার নিজস্ব অ্যানিমেটর অবজেক্ট সংজ্ঞায়িত করতে পারেন।
তালিকা-আইটেম নির্বাচন সক্ষম করুন
 recyclerview-selection লাইব্রেরি ব্যবহারকারীদের স্পর্শ বা মাউস ইনপুট ব্যবহার করে RecyclerView তালিকার আইটেম নির্বাচন করতে দেয়। এটি আপনাকে একটি নির্বাচিত আইটেমের ভিজ্যুয়াল উপস্থাপনার উপর নিয়ন্ত্রণ বজায় রাখতে দেয়। আপনি নির্বাচন আচরণ নিয়ন্ত্রণকারী নীতিগুলির উপরও নিয়ন্ত্রণ বজায় রাখতে পারেন, যেমন কোন আইটেমগুলি নির্বাচনের জন্য যোগ্য এবং কতগুলি আইটেম নির্বাচন করা যেতে পারে।
 একটি RecyclerView ইনস্ট্যান্সে নির্বাচন সমর্থন যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
-  কোন সিলেকশন কী টাইপ ব্যবহার করবেন তা নির্ধারণ করুন, তারপর একটি 
ItemKeyProviderতৈরি করুন।নির্বাচিত আইটেমগুলি সনাক্ত করতে আপনি তিনটি মূল প্রকার ব্যবহার করতে পারেন:
-  
Parcelableএবং এর উপশ্রেণী, যেমনUri -  
String -  
Long 
সিলেকশন-কী প্রকার সম্পর্কে বিস্তারিত তথ্যের জন্য,
SelectionTracker.Builderদেখুন। -  
 -  
ItemDetailsLookupবাস্তবায়ন করুন। -  ব্যবহারকারী যদি তাদের নির্বাচন করে বা অনির্বাচিত করে, তাহলে 
RecyclerViewআইটেমViewঅবজেক্ট আপডেট করুন।নির্বাচন লাইব্রেরি নির্বাচিত আইটেমগুলির জন্য কোনও ডিফল্ট ভিজ্যুয়াল ডেকোরেশন প্রদান করে না।
onBindViewHolder()প্রয়োগ করার সময় এটি প্রদান করুন। আমরা নিম্নলিখিত পদ্ধতিটি সুপারিশ করি:-  
onBindViewHolder()তে,Viewঅবজেক্টেsetActivated()—setSelected()নয় — কল করুনtrueঅথবাfalseদিয়ে, আইটেমটি নির্বাচিত কিনা তার উপর নির্ভর করে। - সক্রিয় অবস্থা উপস্থাপনের জন্য ভিউয়ের স্টাইলিং আপডেট করুন। স্টাইলিং কনফিগার করার জন্য আমরা একটি রঙের অবস্থা তালিকার রিসোর্স ব্যবহার করার পরামর্শ দিচ্ছি।
 
 -  
 -  নির্বাচনের উপর কোনও ক্রিয়া সম্পাদনের জন্য ব্যবহারকারীকে সরঞ্জাম সরবরাহ করতে 
ActionModeব্যবহার করুন। - যেকোনো ব্যাখ্যা করা গৌণ ক্রিয়া সম্পাদন করুন।
 -  
SelectionTracker.Builderদিয়ে সবকিছু একত্রিত করুন। - কার্যকলাপের জীবনচক্রের ইভেন্টগুলিতে নির্বাচন অন্তর্ভুক্ত করুন।
 
 ItemDetailsLookup নির্বাচন লাইব্রেরিকে MotionEvent প্রদত্ত RecyclerView আইটেম সম্পর্কে তথ্য অ্যাক্সেস করতে দেয়। এটি কার্যকরভাবে ItemDetails ইনস্ট্যান্সের জন্য একটি কারখানা যা RecyclerView.ViewHolder ইনস্ট্যান্স দ্বারা ব্যাক আপ করা হয় বা সেখান থেকে বের করা হয়।
 একটি SelectionTracker.SelectionObserver নিবন্ধন করুন যাতে আপনি যখন কোনও নির্বাচন পরিবর্তন করেন তখন তা জানতে পারেন। যখন কোনও নির্বাচন প্রথম তৈরি করা হয়, তখন ব্যবহারকারীর কাছে এটি উপস্থাপন করতে এবং নির্বাচন-নির্দিষ্ট ক্রিয়াগুলি প্রদান করতে ActionMode শুরু করুন। উদাহরণস্বরূপ, আপনি ActionMode বারে একটি মুছে ফেলার বোতাম যুক্ত করতে পারেন এবং নির্বাচনটি সাফ করার জন্য বারের পিছনের তীরটি সংযুক্ত করতে পারেন। যখন নির্বাচনটি খালি হয়ে যায় - যদি ব্যবহারকারী শেষবার নির্বাচনটি সাফ করে - তখন অ্যাকশন মোডটি বন্ধ করুন।
 ইভেন্ট প্রসেসিং পাইপলাইনের শেষে, লাইব্রেরি নির্ধারণ করতে পারে যে ব্যবহারকারী কোনও আইটেম সক্রিয় করার চেষ্টা করছেন, এটিতে ট্যাপ করে, অথবা কোনও আইটেম বা নির্বাচিত আইটেমের সেট টেনে আনার চেষ্টা করছেন। উপযুক্ত শ্রোতা নিবন্ধন করে এই ব্যাখ্যাগুলির প্রতিক্রিয়া জানান। আরও তথ্যের জন্য, SelectionTracker.Builder দেখুন।
নিচের উদাহরণটি দেখায় কিভাবে এই অংশগুলিকে একসাথে রাখা যায়:
কোটলিন
var tracker = SelectionTracker.Builder( "my-selection-id", recyclerView, StableIdKeyProvider(recyclerView), MyDetailsLookup(recyclerView), StorageStrategy.createLongStorage()) .withOnItemActivatedListener(myItemActivatedListener) .build()
জাভা
SelectionTracker tracker = new SelectionTracker.Builder<>( "my-selection-id", recyclerView, new StableIdKeyProvider(recyclerView), new MyDetailsLookup(recyclerView), StorageStrategy.createLongStorage()) .withOnItemActivatedListener(myItemActivatedListener) .build();
 একটি SelectionTracker ইনস্ট্যান্স তৈরি করতে, আপনার অ্যাপটিকে অবশ্যই SelectionTracker.Builder এ RecyclerView ইনিশিয়ালাইজ করার জন্য ব্যবহৃত RecyclerView.Adapter একই রকম সরবরাহ করতে হবে। এই কারণে, SelectionTracker ইনস্ট্যান্স তৈরি করার পরে, এটি আপনার RecyclerView.Adapter এ ইনজেক্ট করুন। অন্যথায়, আপনি onBindViewHolder() পদ্ধতি থেকে কোনও আইটেমের নির্বাচিত অবস্থা পরীক্ষা করতে পারবেন না।
 অ্যাক্টিভিটি লাইফসাইকেল ইভেন্ট জুড়ে সিলেকশন স্টেট সংরক্ষণ করার জন্য, আপনার অ্যাপকে অ্যাক্টিভিটির onSaveInstanceState() এবং onRestoreInstanceState() পদ্ধতি থেকে যথাক্রমে সিলেকশন ট্র্যাকারের onSaveInstanceState() এবং onRestoreInstanceState() ) পদ্ধতিগুলি কল করতে হবে। আপনার অ্যাপটিকে SelectionTracker.Builder কনস্ট্রাক্টরকে একটি অনন্য সিলেকশন আইডিও সরবরাহ করতে হবে। এই আইডিটি প্রয়োজন কারণ একটি অ্যাক্টিভিটি বা একটি ফ্র্যাগমেন্টে একাধিক স্বতন্ত্র, নির্বাচনযোগ্য তালিকা থাকতে পারে, যার সবকটি তাদের সংরক্ষিত অবস্থায় বজায় রাখতে হবে।
অতিরিক্ত সম্পদ
অতিরিক্ত তথ্যের জন্য নিম্নলিখিত তথ্যসূত্রগুলি দেখুন।
-  সানফ্লাওয়ার ডেমো অ্যাপ , যা 
RecyclerViewব্যবহার করে। - স্ক্রোলযোগ্য তালিকা কোডল্যাব প্রদর্শন করতে RecyclerView ব্যবহার করুন ।
 - অ্যান্ড্রয়েড কোটলিনের মৌলিক বিষয়: রিসাইক্লারভিউ কোডল্যাবের মৌলিক বিষয় ।
 
  