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

এন্ড্রয়েডে ListView-এ নির্দিষ্ট পজিশনে প্রোগ্রামেটিক্যালি স্ক্রল করার পদ্ধতি

এন্ড্রয়েডে ListView-এ নির্দিষ্ট পজিশনে প্রোগ্রামেটিক্যালি স্ক্রল করার ধাপাবলী

এই উদাহরণটি দেখায় কীভাবে smoothScrollToPosition() মেথড ব্যবহার করে ListView-এ একটি নির্দিষ্ট পজিশনে স্মুথলি স্ক্রল করা যায়। এখানে ৩০টি ফুটবল খেলোয়াড়ের তালিকা ব্যবহার করা হয়েছে।

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

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

ধাপ ২: লেআউট ফাইল সংশোধন করুন (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:id="@+id/rl"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    tools:context=".MainActivity">
    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="লিস্টভিউ স্ক্রল করুন পজিশন ২২-এ" />
    <ListView
        android:id="@+id/listView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/btn" />
</RelativeLayout>

ধাপ ৩: মূল এক্টিভিটি লজিক (src/MainActivity.java)

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        final ListView listView = findViewById(R.id.listView);
        Button btn = findViewById(R.id.btn);
        
        String[] footballPlayers = new String[] {
            "ক্রিস্টিয়ানো রোনাল্ডো", "লিওনেল মেসি", "নেমার জুনিয়র", "ইডেন হাজার্ড",
            "ইস্কো", "গারেথ বেল", "সার্জিও বুস্কেটস", "জলাতান ইব্রাহিমович",
            "জিআরর বুফন", "ইকার কাসিলাস", "রাফায়েল ভারান", "জিনেদিন জিদান",
            "মেমফিস ডিপে", "জেরার্ড পিক", "ভিক্টর ভালডেস", "ডেভিড ডি জিয়া",
            "মো সালাহ", "রোনাল্ডিনিও", "মারকো রویس", "আসেনসিও",
            "লুইস ফিগো", "সার্জিও রামোস", "মালদিনি", "মার্সেলো",
            "করিম বেনজেমা", "সার অ্যালেক্স ফার্গাসন"
        };
        
        final List<String> playersList = new ArrayList<>(Arrays.asList(footballPlayers));
        final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, playersList);
        listView.setAdapter(arrayAdapter);
        
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                listView.smoothScrollToPosition(22); // ০-ভিত্তিক ইন্ডেক্স
            }
        });
    }
}

ধাপ ৪: ম্যানিফেস্ট ফাইল (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>

অন্যান্য স্ক্রল মেথড

  • setSelection(position) - তাৎক্ষণিক স্ক্রল (এনিমেশন ছাড়া)
  • smoothScrollToPosition(position) - স্মুথ এনিমেশনের সাথে স্ক্রল
  • smoothScrollToPositionFromTop(position, offset) - অফসেট সহ স্মুথ স্ক্রল

অ্যাপ্লিকেশন চালান

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

  1. এন্ড্রয়েডে প্রোগ্রামেটিক্যালি ক্যামেরা ক্লিক করার পদ্ধতি

  2. অ্যান্ড্রয়েডে প্রোগ্রাম্যাটিক্যালি BroadcastReceiver নিবন্ধন করার পদ্ধতি

  3. অ্যান্ড্রয়েডে প্রোগ্রামেটিক্যালি GPS সক্ষম/অক্ষম করা

  4. অ্যান্ড্রয়েডে ইনকামিং কল প্রোগ্রামেটিক্যালি রিসিভ করবেন কীভাবে?