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

অ্যান্ড্রয়েডে কাস্টম লিস্ট ভিউতে সার্চ ফাংশনালিটি কীভাবে ব্যবহার করবেন?

কাস্টম লিস্ট ভিউতে সার্চ ফিচার বাস্তবায়ন

এই উদাহরণটি দেখায় কীভাবে অ্যান্ড্রয়েডে কাস্টম লিস্ট ভিউতে সার্চ ফাংশনালিটি যোগ করা যায়। আমরা EditText এবং TextWatcher ব্যবহার করে রিয়েল-টাইম ফিল্টারিং করব।

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

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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="8dp"
    tools:context=".MainActivity">
    <EditText
        android:id="@+id/etSearch"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="এখানে সার্চ করুন" />
    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/listView"
        android:layout_below="@id/etSearch"/>
</RelativeLayout>

ধাপ ৩: জাভা কোড লিখুন

src/MainActivity.java ফাইলে ArrayAdapter এবং TextWatcher ব্যবহার করুন:

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    ListView listView;
    ArrayList<String> months = new ArrayList<>();
    ArrayAdapter<String> arrayAdapter;
    EditText etSearch;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        listView = findViewById(R.id.listView);
        etSearch = findViewById(R.id.etSearch);
        
        // মাসের নাম যোগ করুন
        months.add("জানুয়ারি");
        months.add("ফেব্রুয়ারি");
        months.add("মার্চ");
        months.add("এপ্রিল");
        months.add("মে");
        months.add("জুন");
        months.add("জুলাই");
        months.add("আগস্ট");
        months.add("সেপ্টেম্বর");
        months.add("অক্টোবর");
        months.add("নভেম্বর");
        months.add("ডিসেম্বর");
        
        arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, android.R.id.text1, months);
        listView.setAdapter(arrayAdapter);
        
        etSearch.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
            
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                arrayAdapter.getFilter().filter(s);
            }
            
            @Override
            public void afterTextChanged(Editable s) {}
        });
    }
}

ধাপ ৪: ম্যানিফেস্ট ফাইল

স্ট্যান্ডার্ড ম্যানিফেস্ট কনফিগারেশন ব্যবহার করুন।

পরীক্ষা করুন

অ্যাপটি রান করুন এবং সার্চ বক্সে টাইপ করে লিস্ট ফিল্টার হওয়া দেখুন।

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

  2. অ্যান্ড্রয়েডে ActionBar-এ কাস্টম ভিউ দেখানোর পদ্ধতি

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

  4. অ্যান্ড্রয়েডে কাস্টম জেসচার যোগ করার পদ্ধতি