কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে Pull-to-Refresh বাস্তবায়নের পদ্ধতি


Pull to Refresh পরিচিতি

উদাহরণে যাওয়ার আগে, আমাদের জানতে হবে অ্যান্ড্রয়েডে Pull to refresh layout কী। আমরা অ্যান্ড্রয়েডে pull to refresh কে swipe-to-refresh বলতে পারি। যখন আপনি স্ক্রিনটি উপরে থেকে নিচে সোয়াইপ করবেন তবে এটি setOnRefreshListener অনুযায়ী কিছু অ্যাকশন করবে।

এই উদাহরণটি অ্যান্ড্রয়েড pull to refresh বাস্তবায়নের পদ্ধতি প্রদর্শন করে।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project-এ যান এবং একটি নতুন প্রজেক্ট তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন।

ধাপ ২: res/layout/activity_main.xml-এ কোড যোগ করুন

<?xml version = "1.0" encoding = "utf-8"?> 
<android.support.v4.widget.SwipeRefreshLayout 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:id = "@+id/swipeRefresh"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    tools:context = ".MainActivity">
    <LinearLayout
        android:layout_width = "wrap_content"
        android:gravity = "center"
        android:layout_height = "wrap_content">
        <TextView
            android:id = "@+id/text"
            android:textSize = "30sp"
            android:layout_width = "wrap_content"
            android:layout_height = "wrap_content"
            android:text = "Hello World!" />
    </LinearLayout>
</android.support.v4.widget.SwipeRefreshLayout>

উপরোক্ত কোডে আমরা swipeRefreshLayout কে প্যারেন্ট লেআউট হিসেবে দিয়েছি, যখন ব্যবহারকারী লেআউট সোয়াইপ করবে তবে এটি চাইল্ড ভিউ রিফ্রেশ করতে পারে।

ধাপ ৩: src/MainActivity.java-এ কোড যোগ করুন

package com.example.andy.myapplication;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    SwipeRefreshLayout swipeRefresh;
    static int i = 0;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final TextView textView = findViewById(R.id.text);
        swipeRefresh = findViewById(R.id.swipeRefresh);
        swipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                i++;
                textView.setText("Tutorialspoint.com " + i);
                swipeRefresh.setRefreshing(false);
            }
        });
    }
}

উপরোক্ত কোডে আমরা onRefreshListener দিয়েছি, যখন আপনি প্যারেন্ট লেআউট সোয়াইপ করবেন তবে এটি RefreshListener-এ থেকে onRefresh() কল করবে, আমরা সোয়াইপ কাউন্ট সহ টেক্সট আপডেট করছি:

swipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
    @Override
    public void onRefresh() {
        i++;
        textView.setText("Tutorialspoint.com " + i);
        swipeRefresh.setRefreshing(false);
    }
});

আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করুন। আমি ধরে নিচ্ছি আপনার আসল Android মোবাইল ডিভাইস কম্পিউটারের সাথে সংযুক্ত আছে। Android Studio থেকে অ্যাপ চালাতে, আপনার প্রজেক্টের একটি এক্টিভিটি ফাইল খুলুন এবং টুলবার থেকে Run আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপর আপনার মোবাইল ডিভাইস চেক করুন যা আপনার ডিফল্ট স্ক্রিন প্রদর্শন করবে।

অ্যান্ড্রয়েডে Pull-to-Refresh বাস্তবায়নের পদ্ধতি

উপরোক্ত ফলাফল প্রাথমিক স্ক্রিন দেখায়, এখন উপরে থেকে নিচে সোয়াইপ করলে এটি TextView আপডেট করবে:

অ্যান্ড্রয়েডে Pull-to-Refresh বাস্তবায়নের পদ্ধতি


অ্যান্ড্রয়েডে Pull-to-Refresh বাস্তবায়নের পদ্ধতি


  1. অ্যান্ড্রয়েডে অ্যালার্ম ম্যানেজার ইমপ্লিমেন্টেশন

  2. অ্যান্ড্রয়েডে বটম শীট (Bottom Sheet) উইজেট ইমপ্লিমেন্ট করা

  3. অ্যান্ড্রয়েডে কাস্টম AlertDialog ভিউ কীভাবে বাস্তবায়ন করবেন?

  4. Android-এ RecyclerView-এ অসীম লিস্ট (Endless Scrolling) বাস্তবায়ন