কম্পিউটার

অ্যান্ড্রয়েড রিসাইক্লারভিউতে নির্বাচিত আইটেমটিকে কীভাবে সঠিকভাবে হাইলাইট করবেন?


এই উদাহরণটি দেখায় যে আমি কীভাবে android RecyclerView-এ নির্বাচিত আইটেমটিকে সঠিকভাবে হাইলাইট করব৷

ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷

build.gradle (মডিউল:অ্যাপ)

-এ নিম্নলিখিত নির্ভরতা যোগ করুন
বাস্তবায়ন 'com.android.support:recyclerview-v7:28.0.0'

ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।

 

ধাপ 3 - একটি লেআউট রিসোর্স ফাইল তৈরি করুন (list_layout.xml) এবং নিম্নলিখিত কোড যোগ করুন -

   

পদক্ষেপ 4৷ - নীচে উল্লিখিত হিসাবে অঙ্কনযোগ্য সম্পদ ফাইল তৈরি করুন এবং সংশ্লিষ্ট কোড যোগ করুন -

background_selector.xml −

 <আইটেম android:drawable="@color/colorAccent" android:state_pressed="false" android:state_selected="true" /> <আইটেম android:drawable="@android:color/white" android:state_selected="false" /> 

line_divider.xml −

  

ধাপ 5 − নিচে উল্লিখিত জাভা ক্লাস ফাইল তৈরি করুন এবং সংশ্লিষ্ট কোড যোগ করুন −

আইটেম অবজেক্ট

<প্রি>ক্লাস আইটেম অবজেক্ট { ব্যক্তিগত স্ট্রিং পুরস্কার শিরোনাম; ব্যক্তিগত স্ট্রিং পুরস্কার বছর; ব্যক্তিগত স্ট্রিং প্লেয়ার; আইটেম অবজেক্ট (স্ট্রিং অ্যাওয়ার্ড টাইটেল, স্ট্রিং অ্যাওয়ার্ড ইয়ার, স্ট্রিং প্লেয়ার) { this.awardTitle =awardTitle; this.awardYear =পুরস্কারবর্ষ; this.player =খেলোয়াড়; } স্ট্রিং getAwardTitle() { return awardTitle; } স্ট্রিং getAwardYear() { return awardYear; } স্ট্রিং গেট প্লেয়ার () { রিটার্ন প্লেয়ার; }}

RecyclerViewAdapter −

 android.content.Context আমদানি করুন; android.view.LayoutInflater আমদানি করুন; android.view.View আমদানি করুন; android.view.ViewGroup আমদানি করুন; java.util.List আমদানি করুন; androidx.annotation.NonNull; androidx.recyclerview আমদানি করুন৷ widget.RecyclerView;public class RecyclerViewAdapter extendsRecyclerView.Adapter { ব্যক্তিগত তালিকা itemList; RecyclerViewAdapter(প্রসঙ্গ প্রসঙ্গ, তালিকা itemList) { this.itemList =itemList; } @NonNull @Override public RecyclerViewHolders onCreateViewHolder(ViewGroup parent, int viewType) { View layoutView =LayoutInflater.from(parent.getContext()).inflate(R.layout.list_layout, null); নতুন রিসাইক্লারভিউহোল্ডার (লেআউটভিউ); } @BindViewHolder(RecyclerViewHolders হোল্ডার, int পজিশন) {holder.awardTitle.setText("পুরস্কার শিরোনাম:" + itemList.get(position).getAwardTitle()); holder.awardYear.setText("পুরস্কারের বছর:" + itemList.get(position).getAwardYear()); holder.player.setText("প্লেয়ারের নাম:" + itemList.get(position).getPlayer()); } @Override public int getItemCount() { return this.itemList.size(); }}

RecyclerViewHolders

ইম্পোর্ট android.util.SparseBooleanArray;import android.view.View;import android.widget.TextView;import androidx.recyclerview.widget.RecyclerView;class RecyclerViewHolders প্রসারিত RecyclerView.ViewHolder implementsView.OnClickitleisterT awards টেক্সটভিউ পুরস্কারবর্ষ; টেক্সটভিউ প্লেয়ার; ব্যক্তিগত স্পার্সবুলিয়ান অ্যারে নির্বাচিত আইটেম =নতুন স্পারসবুলিয়ান অ্যারে(); রিসাইক্লারভিউহোল্ডার(আইটেমভিউ দেখুন) { সুপার(আইটেমভিউ); itemView.setOnClickListener(এটি); awardTitle =itemView.findViewById(R.id.awardTitle); awardYear =itemView.findViewById(R.id.awardYear); player =itemView.findViewById(R.id.playerName); } @Override public void onClick(View view) { if (selectedItems.get(getAdapterPosition(), false)) { selectedItems.delete(getAdapterPosition()); view.setSelected(false); } অন্য { SelectItems.put(getAdapterPosition(), true); view.setSelected(true); } } }

সিম্পল আইটেম ডেকোরেশন

ইম্পোর্ট করুন android.content.Context;import android.graphics.Canvas;import android.graphics.drawable.Drawable; import android.view.View;import androidx.annotation.NonNull;import androidx.core.content.ContextCompat;আমদানি করুন androidx.recyclerview.widget.RecyclerView;class SimpleItemDecoration প্রসারিত RecyclerView.ItemDecoration { ব্যক্তিগত অঙ্কনযোগ্য অঙ্কনযোগ্য; SimpleItemDecoration(প্রসঙ্গ প্রসঙ্গ) { drawable =ContextCompat.getDrawable(context, R.drawable.line_divider); } @DrawOver(@NonNull Canvas canvas, RecyclerView parent, @NonNull RecyclerView.State state) {int left =parent.getPaddingLeft(); int right =parent.getWidth() - parent.getPaddingRight(); int childCount =parent.getChildCount(); জন্য (int i =0; i  

ধাপ 6 − src/MainActivity.java

-এ নিম্নলিখিত কোড যোগ করুন
 androidx.appcompat.app.AppCompatActivity আমদানি করুন; androidx.recyclerview.widget.LinearLayoutManager আমদানি করুন; androidx.recyclerview.widget.RecyclerView আমদানি করুন; android.os.Bundle আমদানি করুন; java.util.ArrayList; import java.util.ArrayList;;পাবলিক ক্লাস মেইনঅ্যাক্টিভিটি AppCompatActivity প্রসারিত করে { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); RecyclerView recyclerView =findViewById(R.id.recyclerView); recyclerView.addItemDecoration(নতুন SimpleItemDecoration(এটি)); LinearLayoutManager layoutManager =new LinearLayoutManager(MainActivity.this); recyclerView.setLayoutManager(লেআউট ম্যানেজার); তালিকা পোস্ট =returnListItems(); RecyclerViewAdapter অ্যাডাপ্টার =নতুন RecyclerViewAdapter(MainActivity.this, posts); recyclerView.setAdapter(অ্যাডাপ্টার); } ব্যক্তিগত তালিকা returnListItems() { তালিকা আইটেম =নতুন ArrayList<>(); items.add(নতুন আইটেম অবজেক্ট("ব্যালন'অর", "2007", "রিকার্ডো কাকা")); items.add(নতুন আইটেম অবজেক্ট("ব্যালন'অর", "2008", "ক্রিস্টিয়ানো রোনালদো")); items.add(নতুন আইটেম অবজেক্ট("ব্যালন'অর", "2009 - 2012, 2015", "লিওনেল মেসি")); items.add(নতুন আইটেম অবজেক্ট("ব্যালন'অর", "2013, 2014, 2016, 2017", "ক্রিস্টিয়ানো রোনালদো")); items.add(new ItemObject("Ballon'd'or", "2018", "Luca Modric")); items.add(নতুন আইটেম অবজেক্ট("ব্যালন'অর", "2019", "এখনও সিদ্ধান্ত নেই")); ফেরত মালামাল; }}

পদক্ষেপ 7 − androidManifest.xml

-এ নিম্নলিখিত কোড যোগ করুন
 <অ্যাপ্লিকেশন android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" Android :theme="@style/AppTheme"> <অ্যাক্টিভিটি android:name=".MainActivity">      

আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে -

অ্যান্ড্রয়েড রিসাইক্লারভিউতে নির্বাচিত আইটেমটিকে কীভাবে সঠিকভাবে হাইলাইট করবেন?


  1. রিসাইক্লারভিউ আইটেমগুলি স্ক্রিনে উপস্থিত হলে কীভাবে অ্যানিমেট করবেন?

  2. অ্যান্ড্রয়েডে নেস্টেডস্ক্রোলভিউয়ের ভিতরে রিসাইক্লারভিউ কীভাবে ব্যবহার করবেন?

  3. অ্যান্ড্রয়েডে অবস্থানের পরিবর্তে মান অনুসারে স্পিনারের নির্বাচিত আইটেম কীভাবে সেট করবেন?

  4. অ্যান্ড্রয়েডে টেক্সটভিউতে পাঠ্যকে কীভাবে জাস্টিফাই করবেন?