Sponsor

লিস্ট ভিউতে সার্চ ফাংশন যুক্ত করা

0
3

লিস্ট ভিউতে সার্চ ফাংশন যুক্ত করা অনেক সহজ। লিস্ট ভিউ নিয়ে কাজ করতে পারলে সার্চ ফাংশন যুক্ত করা কোন ব্যপারই না। লিস্ট ভিউ নিয়ে বিস্তারিত জানা যাবে অ্যান্ড্রয়েড লিস্ট ভিউ লেখাটিতে। লিস্ট ভিউর প্রতিটি আইটেমের জন্য একটা ভিউ তৈরি করে নিতে হবে। যেমন list_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</TextView>

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    tools:context=".MainActivity">

    <EditText android:id="@+id/inputSearch"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Search.."
        android:inputType="textVisiblePassword"/>
    <ListView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/listView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/inputSearch" />
</RelativeLayout>

এখানে একটা এডিট টেক্সট যুক্ত করা হয়েছে। যেখানে আমরা সার্চ করব। লিস্ট ভিউতে সার্চ করার জন্য শুধু লিখতে হবে adapter.getFilter().filter(); এখানে এডাপ্টার হচ্ছে আমাদের লিস্ট ভিউর এডাপ্টারটি। যখন এডিট টেক্সট এ কোন কিছু টাইফ করা হবে, তখন ফিল্টার হবেঃ

 inputSearch.addTextChangedListener(new TextWatcher() {

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
                // When user changed the Text
                adapter.getFilter().filter(cs);
            }

            @Override
            public void afterTextChanged(Editable s) {

            }

        });

এতটুকুই। সম্পুর্ণ MainActivity.java:

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

public class MainActivity extends AppCompatActivity {
    EditText inputSearch;
    ArrayAdapter<String> adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // show the list
        populateListView();

        inputSearch = (EditText) findViewById(R.id.inputSearch);

        inputSearch.addTextChangedListener(new TextWatcher() {

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
                // When user changed the Text
                adapter.getFilter().filter(cs);
            }

            @Override
            public void afterTextChanged(Editable s) {

            }

        });
    }


    private void populateListView() {

        // crate list of list_items
        String[] rainbowColors = {"Red", "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet"};

        // build adapter
        adapter = new ArrayAdapter<String>(this, R.layout.list_item, rainbowColors);

        // configure list view

        ListView list = (ListView) findViewById(R.id.listView);

        list.setAdapter(adapter);

    }
}

লিখতে ভুলে গিয়েছি। ডিফল্ট ভাবে কিবোর্ড ওপেন হয়ে থাকবে। কিবোর্ড যেন ওপেন হয়ে না থাকে তার জন্য AndroidManifest.xml এ activity এর মধ্যে লিখতে হবেঃ android:windowSoftInputMode=”stateHidden”

যেমনঃ

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="me.jakir.searchinlistview">

    <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"
            android:windowSoftInputMode="stateHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
Căutare
Categorii
Citeste mai mult
Nulled
PTC Pro v2.0 Nulled - Complete PPC Advertising Platform for Business Script
PTC Pro v2.0 Nulled – Complete PPC Advertising Platform for Business Script Free...
By Nettumi 2026-09-17 18:37:30 0 38
Hacking Course
OSINT MasterClass: ইন্টারনেটের OPEN SOURCE গোয়েন্দাগিরির গাইড | Part 1 | Bug Mohol
OSINT মাস্টারক্লাস: ইন্টারনেটের ওপেন সোর্স গোয়েন্দাগিরির পূর্ণাঙ্গ গাইড OSINT ব্যবহার করে...
By Nettumi 2026-09-25 16:52:06 0 17
Hacking Course
আনলিমিটেড পিডিএফ বই ডাউনলোড করুন scribd থেকে কোন প্রকার সাবস্ক্রিপশন ছাড়াই
আসসালামু আলাইকুম৷ বন্ধুরা, আশা করি আপনারা সকলে সুস্থ আছেন৷ সৃষ্টিকর্তার কৃপায় আমিও ভালো আছি৷তাই...
By Nettumi 2026-09-25 16:53:26 0 28
Hacking Course
যেভাবে আমি আমার Galaxy A34 Root করলাম [Full Guide]
বর্তমান সময়ের প্রেক্ষিতে রুটিং করা বেশ কঠিন হয়ে গেছে। সিকিউরিটির নাম দিয়ে মোবাইল...
By Nettumi 2026-09-25 16:44:30 0 38
Hacking Course
শাওমি রেডমি কে৬০ সিরিজ এলো শক্তিশালী সব ফিচার নিয়ে
একটি বিশাল ইভেন্টের মাধ্যমে ডজনখানেক নতুন প্রোডাক্ট লঞ্চ করেছে শাওমি। এর মধ্যে রয়েছে রেডমি কে৬০...
By Nettumi 2026-09-25 09:55:05 0 24
‎ ‎ ‎
Nettumi https://nettumi.com