آموزش جستجو در RecyclerView در برنامه نویسی اندروید

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش جستجو در RecyclerView در برنامه نویسی اندروید می پردازیم برای جستجو از EditText استفاده می کنیم در ادامه با ما همراه باشید تا نحوه استفاده از آن را یاد بگیرید.
در قبل آموزش ConstraintLayout را قرار دادیم و از این به بعد بیشتر آموزش ما بخش Layout آن شامل ConstraintLayout خواهد بود پس اگر آن را مطالعه نکردید در سایت جستجو کنید و همینطور RecyclerView را هم در شکل و ها و انواع مختلف برای شما مثال زدیم می توانید برای تکمیل شدن آموزش به آنها رجوع کنید.
ابتدای امر چون از RecyclerView و CardView استفاده می کنیم باید کتاب خانه آن ها را اضافه کنیم.
پس وارد فایل Build.gradle شده از نوع module و خط زیر را به آن اضافه کنید.

هم اکنون پروژه را sync کنید علت خطاهای گریدل را قبلا بررسی کرده ایم.
حالا در بخش layout خودمان کد های زیر را قرار می دهیم اسم layout ما برابر با activity_main.xml است .

دوستان تعجب نکنید گفتم باید حتما آموزش ConstraintLayout را مطالعه کنید تا متوجه شوید این کدها از کجا آماده اند اگر دوست نداشتید بدانید در بالا فقط یک EditText و یک Recyclerview قرار گرفته است بقیه کد ها مربوط به ConstraintLayout است.کد بالا layout به شکل زیر ایجاد می کند.

حالا یک فایل برای لیست آیتم های خودمان درست می کنیم این لیست در RecyclerView نمایش داده می شود.
پس یک فایل به نام list_layout.xml در پوشه layout ایجاد می کنیم و کد زیر را در آن قرار می دهیم.

لیست ما شامل یک CardView است که در آن یک TextView گنجانده شده است.
مثل همیشه باید آداپتور خودمان را ایجاد کنیم پس یک فایل جاوا به نام CustomAdapter.java ایجاد کرده و کد زیر را در آن قرار دهید.

فکر می کنم این کلاس رو حدودا 8 بار توضیح داده ام در سایت جستجو کنید.
حالا کد مربوط به اکتیویتی اصلیمان را قرار میدهیم نام آن برابر با MainActivity.java است.

در ابتدا view مربوط به هر کدام را به دست آوردیم سپس در بالا ما یکسری داده sample به RecyclerView خودمان اضافه کردیم.
حالا برای اینکه بخش سرچ ما تکمیل شود کد های زیر را به اکتیویتی بالا اضافه کنید.
ابتدا باید یک void ایجاد کنیم که کار فیلتر را انجام دهد مثل زیر

و حالا باید از این فیلتر درست شده استفاده کنیم همانند زیر

به علت اینکه میدونم 90 درصد کاربرای ما آماتورن کد اصلی رو به صورت تکمیلی در زیر قرار میدم
پس در آخر MainActivity.java همانند زیر می شود.

 

مطالعه بیشتر