در این سری از آموزش های برنامه نویسی اندروید قصد داریم تا در رابطه با ویو AutoCompleteTextView صحبت کنیم. این ویو از EditText ارث بری کرده و به این معنی میباشد که از تمامی خصوصیات ویو EditText میتوان در آن استفاده کرد. در این ویو interface فیلتر بنام FilterListener قراردارد تا بتوان براساس مقادیری که وارد میشوند, لیستی از گزینه های پیشنهادی که به مقدار نهایی کاربر نزدیک تر است را نمایش بدهد. این ویژگی باعث میشود که کاربر سریعتر متن نهایی را وارد کند یا اگر عبارت نهایی از خاطرش رفته باشد بعنوان یادآوری نیز عمل کند. از ویو AutoCompleteTextView بیشتر در بخش های جستجو استفاده میشود.
بعنوان مثال همه ما بدون استثنا با سرچ گوگل کار کرده ایم و می بینیم هنگام تایپ زیر کادر جستجو لیستی از پیشنهادات بر اساس متن وارده شده ما, نمایش داده میشود و ما میتوانیم یکی از آنها را انتخاب کنیم تا به صورت اتوماتیک قسمت های جا افتاده از عبارت مد نظر ما, در بخش تایپ گوگل وارد شود.
AutoCompleteTextView
ویو AutoCompleteTextView این امکان را برای ما فراهم میکند تا بتوانیم محیطی که دربالا در موردش صحبت کردیم را برای کاربران خود پیاده سازی کنیم تا بتوانیم یک لیست از پیشنهادات را به کاربر خود نمایش بدهیم تا بتواند یکی از موارد را انتخاب کند, این ابزار در بخش های مختلفی مثل جستجو, نمایش ایمیل ها, شماره تماس ها یا هر موردی که کاربر زیاد از آنها استفاده میکند و بهتر است آخرین استفاده های کاربر را ذخیره کنیم, استفاده میشود. استفاده از AutoCompleteTextView تنها به این چند مورد ساده ختم نمیشود شما می توانید با استفاده از این ابزار موارد بسیار پیچده ای را نیز طراحی کنید.
مثالی از استفاده های پیچیده
بعنوان مثال فرض کنید ما پروژه ای داریم و میخواهیم بخشی طراحی کنیم که این اجازه را به کاربران بدهیم تا بتوانند همکاران خود را بر اساس نام آنها جستجو و پیدا کنند. شاید به ذهنتان خطور کند که میتوانیم با استفاده از شناسه یا شماره تلفن این کار را بکنیم که بهتر است. اما باید همیشه این ذهنیت را داشته باشید که بتوانید امکانات بهتر و راحتری را برای کاربران خود فراهم کنید.
در این مثال نیز ما قصد داریم که این جستجو بر اساس نام همکارن انجام شود. این جستجو زمانی که کاربر قسمت های از نام همکار خود را وارد میکند درخواست میشود. سپس نتیجه جستجو بر اساس مقادیر مشابه برای کاربر نمایان میشود. لیستی نمایشی را میتوان سفارشی کرد و همراه با اطلاعات اضافی نمایش داد که انتخاب را دقیق تر کند. نکته دیگری که بسیار مهم است, این میباشد که میتوانیم نتیجه جستجو را در قالب لیستی از مدل های مشابه داشته باشیم. میتوان لیستی که در حال نمایش است را کنترل کرد و بعد از انتخاب یک گزینه توسط کاربر, گزینه و موقعیت انتخابی را پیدا کرد. تا بتوان از لیست مدل های موجود کاربران, کاربر انتخابی را پیدا کرد و جزییات کامل تری را برای کاربر نمایش داد. همه این پیچیدگی ها با ابزار AutoCompleteTextView قابل پیاده سازی است.
ویژگی های این آموزش
این آموزش برخلاف آموزش های دیگر موجود در سطح وب, بطور عمیق این ابزار را بررسی میکند. در این آموزش ما روش اجرای موارد پیچیده را با AutoCompleteTextView نشان میدهم و بطور کامل آن را زیر ذره بین میبریم.
- بررسی کامل AutoCompleteTextView
- بررسی Adapter برای AutoCompleteTextView
- ساخت View برای Adapter
- پیاده سازی listener برای جستجو بر اساس ورودی های کاربر
- شبیه سازی بخش جستجو
- پیاده سازی listener کلیک آیتم های پیشنهادی
- دریافت اطلاعات آیتم انتخابی