কম্পিউটার

কিভাবে RecyclerView এ GridLayoutManager ব্যবহার করবেন?


এই উদাহরণটি RecyclerView

-এ GridLayoutManager কিভাবে ব্যবহার করতে হয় সে সম্পর্কে প্রদর্শন করে

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

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

<?xml version = "1.0" encoding = "utf-8"?>
<android.support.design.widget.CoordinatorLayout android:layout_width = "match_parent"
   android:layout_height = "match_parent"
   xmlns:android = "https://schemas.android.com/apk/res/android"
   xmlns:app = "https://schemas.android.com/apk/res-auto">
   <android.support.design.widget.AppBarLayout
      android:layout_width = "match_parent"
      android:layout_height = "wrap_content">
      <android.support.v7.widget.Toolbar
         android:id = "@+id/appbarlayout_tool_bar"
         android:background = "@color/colorPrimary"
         android:layout_width = "match_parent"
         android:layout_height = "?attr/actionBarSize"
         app:layout_scrollFlags = "scroll|snap|enterAlways"
         app:theme = "@style/ThemeOverlay.AppCompat.Dark.ActionBar"
         app:popupTheme = "@style/ThemeOverlay.AppCompat.Light" />
   </android.support.design.widget.AppBarLayout>
   <android.support.v7.widget.RecyclerView
      android:id = "@+id/recycler_view"
      android:layout_width = "match_parent"
      android:layout_height = "match_parent"
      app:layout_behavior = "@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>

উপরের কোডে, আমরা রিসাইসারভিউ নিয়েছি।

ধাপ 3 − src/MainActivity.java

-এ নিম্নলিখিত কোড যোগ করুন
<?xml version = "1.0" encoding = "utf-8"?>
import android.annotation.TargetApi;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
   TextView text;
   ArrayList<String> list = new ArrayList<>();
   private RecyclerView recyclerView;
   private customAdapter mAdapter;
   private onClickInterface onclickInterface;
   @TargetApi(Build.VERSION_CODES.LOLLIPOP)
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      Toolbar toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.appbarlayout_tool_bar);
      toolbar.setTitle("This is toolbar.");
      setSupportActionBar(toolbar);
      onclickInterface = new onClickInterface() {
      @Override
      public void setClick(int abc) {
         list.remove(abc);
         Toast.makeText(MainActivity.this,"Position is"+abc,Toast.LENGTH_LONG).show();
         mAdapter.notifyDataSetChanged();
      }
   };
   recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
   GridLayoutManager mLayoutManager = new GridLayoutManager(getApplicationContext(),2);
   recyclerView.setLayoutManager(mLayoutManager);
   recyclerView.setItemAnimator(new DefaultItemAnimator());
   mAdapter = new customAdapter(this, list, onclickInterface);
   recyclerView.setAdapter(mAdapter);
   DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.HORIZONTAL);
   recyclerView.addItemDecoration(dividerItemDecoration);
   list.add("sairamm");
   list.add("Krishna");
   list.add("prasad");
   list.add("sairamm");
   list.add("Krishna");
   list.add("prasad");
   list.add("sairamm");
   list.add("Krishna");
   list.add("prasad");
   list.add("sairamm");
   list.add("Krishna");
   list.add("prasad");
   list.add("Krishna");
   list.add("prasad");
   list.add("sairamm");
   list.add("Krishna");
   list.add("prasad");
   list.add("sairamm");
   list.add("Krishna");
   list.add("prasad");
   }
}

পদক্ষেপ 4৷ − src/ customAdapter.java

-এ নিম্নলিখিত কোড যোগ করুন
<?xml version = "1.0" encoding = "utf-8"?>
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.ArrayList;
public class customAdapter extends RecyclerView.Adapter<customAdapter.MyViewHolder> {
   Context context;
   ArrayList<String> list;
   onClickInterface onClickInterface;
   public class MyViewHolder extends RecyclerView.ViewHolder {
      public TextView title;
      public MyViewHolder(View view) {
         super(view);
         title = (TextView) view.findViewById(R.id.title);
      }
   }
   public customAdapter(Context context, ArrayList<String> list, onClickInterface onClickInterface) {
      this.context = context;
      this.list = list;
      this.onClickInterface = onClickInterface;
   }
   @NonNull
   @Override
   public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
      View itemView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_row, viewGroup, false);
      return new MyViewHolder(itemView);
   }
   @Override
   public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, final int i) {
      myViewHolder.title.setText(list.get(i));
      myViewHolder.title.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            onClickInterface.setClick(i);
         }
      });
   }
   @Override
   public int getItemCount() {
      return list.size();
   }
}

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

<?xml version = "1.0" encoding = "utf-8"?>
<android.support.v7.widget.CardView xmlns:android = "https://schemas.android.com/apk/res/android"
   xmlns:app = "https://schemas.android.com/apk/res-auto"
   xmlns:tools = "https://schemas.android.com/tools"
   android:layout_width = "match_parent"
   android:layout_height = "wrap_content"
   app:cardElevation = "10dp"
   app:cardCornerRadius = "20dp"
   tools:context = ".MainActivity">
   <LinearLayout
      android:layout_width = "match_parent"
      android:layout_height = "wrap_content"
      android:gravity = "center"
      android:orientation = "vertical">
      <ImageView
         android:id = "@+id/imageView2"
         android:layout_width = "wrap_content"
         android:layout_height = "wrap_content"
         android:src = "@drawable/logo" />
      <TextView
         android:id = "@+id/title"
         android:layout_width = "match_parent"
         android:layout_height = "wrap_content"
         android:gravity = "center"
         android:textSize = "30sp" />
      <TextView
         android:id = "@+id/textview2"
         android:layout_width = "match_parent"
         android:layout_height = "wrap_content"
         android:gravity = "center"
         android:text = "Sairamkrishan"
         android:textSize = "30sp" />
   </LinearLayout>
</android.support.v7.widget.CardView>

ধাপ 6 − src/ onClickInterface এ নিম্নলিখিত কোড যোগ করুন।

<?xml version = "1.0" encoding = "utf-8"?>
public interface onClickInterface {
   void setClick(int abc);
}

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

কিভাবে RecyclerView এ GridLayoutManager ব্যবহার করবেন?


  1. অ্যান্ড্রয়েডে ভিউফ্লিপার কীভাবে ব্যবহার করবেন?

  2. অ্যান্ড্রয়েডে স্ন্যাকবার কীভাবে ব্যবহার করবেন?

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

  4. কিভাবে Android এ NavigationView ব্যবহার করবেন?