آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

جستجو در کاستوم لیست ویو

Plumber  10 سال پیش  10 سال پیش
0 0

سلام

یه کاستوم لیست ویو دارم که کانتکت های گوشی رو توی نرم افزار نشون میده،میخواستم با استفاده از ادیت تکست یه سرچ براش بسازم(مثل قسمت contacts تلگرام!) ولی جواب نمیده و سرچ انجام نمیشه! ممنون میشم راهنمایی کنید.

سایتای خارجی هم گشتم ...

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Amir  10 سال پیش
+3 0

package app.test;

import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;


public class ActivityMain extends Activity {

    public static final ArrayList<StructContact> CONTACTS          = new ArrayList<StructContact>(); //کانتکت ها
    public static final ArrayList<StructContact> SEARCHED_CONTACTS = new ArrayList<StructContact>(); //آرایه برای کانتکت های جستجو شده

    private ArrayAdapter                         adapterContacts;
    private ArrayAdapter                         adapterSearchedContacts;


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

        adapterContacts = new AdapterContact(CONTACTS);
        adapterSearchedContacts = new AdapterContact(SEARCHED_CONTACTS);
        final ListView lst = (ListView) findViewById(R.id.lst);
        lst.setAdapter(adapterContacts); //به صورت پیش فرض لیست ویو، روی شماره هاست

        final EditText edtSearch = (EditText) findViewById(R.id.edtSearch);
        findViewById(R.id.btnSearch).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                String searchValue = edtSearch.getText().toString();
                SEARCHED_CONTACTS.clear();
                for (StructContact contact: CONTACTS) {
                    if (contact.name.contains(searchValue)) {
                        SEARCHED_CONTACTS.add(contact);
                    }
                }
                lst.setAdapter(adapterSearchedContacts); //الآن لیست ویو فقط کانتکت های جستجو شده رو نمایش میده، می تونید کاری کنید که با زدن دکمه ی برگشت گوشی دوباره همه ی کانتکت ها رو نشون بده
            }
        });
    }
}
+1 0
سلام منم هم دو روز درگیر این قضیه هستم یه نمونه خوب پیدا کردم ک جواب میده ولی تو پروژه خودم ک استفاده میکنم جواب نمیده شما ببین میتونی ازش جواب بگیری لینک (10 سال پیش)
0 0
لینکی که دادید همون کدیه که من بالا نوشتم با تغییرات جزئی. مثلا کدی که من بعد از findViewById(R.id.btnSearch) نوشتم رو تبدیل به متدی به اسم filter کرده. (10 سال پیش)
0 0
کلا منتفی شد و کد های بالارو تست نکردم ولی بازم خیلی ممنون از جواب هاتون :) (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .