কম্পিউটার

অ্যান্ড্রয়েডে অনুভূমিক তালিকা ভিউ কীভাবে তৈরি করবেন?


এই উদাহরণটি দেখায় কিভাবে আমি অ্যান্ড্রয়েডে অনুভূমিক তালিকা ভিউ তৈরি করব।

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

অনুগ্রহ করে Gradle -

-এ নীচের-প্রদত্ত নির্ভরতা যোগ করুন
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'

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

<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
   xmlns:tools="https://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:padding="6dp"
   tools:context=".MainActivity">
   <androidx.recyclerview.widget.RecyclerView
      android:id="@+id/recyclerView"
      android:layout_centerInParent="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" />
</RelativeLayout>

ধাপ 3 − src/MainActivity.java

-এ নিম্নলিখিত কোড যোগ করুন
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import java.util.ArrayList;
import java.util.Arrays;
public class MainActivity extends AppCompatActivity {
   RecyclerView recyclerView;
   RecyclerView.LayoutManager layoutManager;
   RecyclerView.Adapter adapter;
   ArrayList<String> numberName;
   ArrayList<Integer> numberImage;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      numberName = new ArrayList<>(Arrays.asList("Four...", "Nine... ", "Seven...", "Six...", "Ten...", "Three...", "Two..."));
      numberImage = new ArrayList<>(Arrays.asList(R.drawable.four, R.drawable.nine, R.drawable.seven,
R.drawable.six, R.drawable.ten, R.drawable.three, R.drawable.two));
      // Calling the RecyclerView
      recyclerView = findViewById(R.id.recyclerView);
      recyclerView.setHasFixedSize(true);
      // The number of Columns
      layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
      recyclerView.setLayoutManager(layoutManager);
      adapter = new MyAdapter(MainActivity.this, numberName, numberImage);
      recyclerView.setAdapter(adapter);
   }
}

পদক্ষেপ 4৷ − একটি জাভা ক্লাস তৈরি করুন (MyAdapter.java) এবং নিম্নলিখিত কোড যোগ করুন −

import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import androidx.recyclerview.widget.RecyclerView;
class MyAdapter extends RecyclerView.Adapter <MyAdapter.ViewHolder>{
   private ArrayList<String>numberName;
   private ArrayList<Integer> numberImage;
   private Context context;
   MyAdapter(Context context, ArrayList<String> numberName, ArrayList<Integer> numberImage) {
      super();
      this.context = context;
      this.numberName = numberName;
      this.numberImage = numberImage;
   }
   @Override
   public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
      View v = LayoutInflater.from(viewGroup.getContext())
      .inflate(R.layout.gridlayout, viewGroup, false);
      return new ViewHolder(v);
   }
   @Override
      public void onBindViewHolder(ViewHolder viewHolder, int i) {
         viewHolder.textView.setText(numberName.get(i));
         viewHolder.imgThumbnail.setImageResource(numberImage.get(i));
         viewHolder.setClickListener(new ItemClickListener() {
            @Override
            public void onClick(View view, int position, boolean isLongClick) {
               if (isLongClick) {
                  Toast.makeText(context, "#" + position + " - " + numberName.get(position) + " (Long
click)", Toast.LENGTH_SHORT).show();
                  context.startActivity(new Intent(context, MainActivity.class));
               } else {
                  Toast.makeText(context, "#" + position + " - " + numberName.get(position),
                  Toast.LENGTH_SHORT).show();
               }
            }
         });
      }
      @Override
      public int getItemCount() {
         return numberName.size();
      }
      public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener,
View.OnLongClickListener {
         ImageView imgThumbnail;
         TextView textView;
         private ItemClickListener clickListener;
         ViewHolder(View itemView) {
            super(itemView);
            imgThumbnail = itemView.findViewById(R.id.imgThumbnail);
            textView = itemView.findViewById(R.id.textView);
            itemView.setOnClickListener(this);
            itemView.setOnLongClickListener(this);
         }
         void setClickListener(ItemClickListener itemClickListener) {
            this.clickListener = itemClickListener;
         }
         @Override
            public void onClick(View view) {
               clickListener.onClick(view, getPosition(), false);
            }
         @Override
         public boolean onLongClick(View view) {
            clickListener.onClick(view, getPosition(), true);
            return true;
         }
      }
}

ধাপ 5 − একটি লেআউট রিসোর্স ফাইল তৈরি করুন এবং তালিকায় নিম্নলিখিত কোডগুলি তৈরি করুন

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
   xmlns:card_view="https://schemas.android.com/apk/res-auto"
   android:orientation="vertical"
   android:layout_width="match_parent"
   android:layout_height="match_parent">
   <androidx.cardview.widget.CardView
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginBottom="0dp"
      android:layout_marginLeft="5dp"
      android:layout_marginRight="5dp"
      android:layout_marginTop="9dp"
      card_view:cardCornerRadius="3dp"
      card_view:cardElevation="0.01dp">
      <RelativeLayout
         android:id="@+id/topLayout"
         android:layout_width="match_parent"
         android:layout_height="160dp">
         <ImageView
            android:id="@+id/imgThumbnail"
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:layout_above="@+id/textView"
            android:layout_centerHorizontal="true"
            android:scaleType="fitXY" />
         <TextView
            android:id="@+id/textView"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true"
            android:layout_gravity="bottom"
            anroid:background="#ff444444"
            android:gravity="center_vertical"
            android:paddingStart="5dp"
            android:paddingEnd="2dp"
            android:text="Test"
            android:textColor="#fff"
            android:textSize="20sp" />
      </RelativeLayout>
   </androidx.cardview.widget.CardView>
</LinearLayout>

ধাপ 6 − একটি ইন্টারফেস তৈরি করুন (ItemClickListener.java) এবং নিম্নলিখিত কোড যোগ করুন −

import android.view.View;
   interface ItemClickListener {
      void onClick(View view, int position, boolean isLongClick);
   }

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

-এ নিম্নলিখিত কোড যোগ করুন
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
   package="app.com.sample">
   <application
      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">
      <activity android:name=".MainActivity">
         <intent-filter>
         <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
   </activity>
</application>
</manifest>

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

অ্যান্ড্রয়েডে অনুভূমিক তালিকা ভিউ কীভাবে তৈরি করবেন?


  1. অ্যান্ড্রয়েডে কীভাবে একটি অনুস্মারক বিজ্ঞপ্তি তৈরি করবেন?

  2. সরল ListView তৈরি করতে Android এ ArrayAdapter কিভাবে ব্যবহার করবেন?

  3. আমি কীভাবে অ্যান্ড্রয়েডে বৃত্তাকার কোণ সহ একটি তালিকাভিউ তৈরি করব?

  4. একটি অ্যান্ড্রয়েড অ্যাপে একটি মাল্টিলেভেল লিস্টভিউ কীভাবে তৈরি করবেন?