عضویت در سایت

ورود

فراموشی رمز عبور

رمز عبور خود را فراموش کرده اید؟ ایمیل خود را وارد کنید

ورود

عضویت در سایت

رایگان ثبت نام کنید و سوالات خود را بپرسید، همچنین میتوانید در پاسخگویی به سوالات دیگر کاربران نیز سهیم باشید، هر مشکلی در ثبت نام یا ورود داشتید با ایمیل beporsam@gmail.com در ارتباط باشید

در بین 1170 آموزش و 2023 پرسش به دنبال چه هستید؟

ویندوز
نصب آنلاین ویندوز

ویندوز 7,8,10,11
مشاوره
مشاوره خرید لپ تاپ و کامپیوتر

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

1k+
پشتیبانی آنلاین

سخت افزار/نرم افزار

آموزش ساخت جستجوی زنده در بیسیک فور اندروید

سلام

با یک آموزش دیگه از بیسیک فور اندروید در خدمتتون هستیم، در برنامه های مختلفی که در گوشی استفاده میکنید حتما دیدید وقتی در قسمت سرچ یک کلمه رو تایپ میکنید،  عنوان های مرتبط با همون کلمه لیست میشن و نمایش داده میشن، امروز در بیسیک فور اندروید چنین چیزی را میخواهیم بسازیم، پس در ادامه همراه بپرسم باشید.

جستجوی زنده در b4a

جستجوی زنده در b4a

این روش خیلی پیچیده نیست، اما شاید برای برخی از افراد کاربردی باشد.

جستجوی زنده یعنی این که کاربر در یک جعبه متن حرفی را وارد کند، برنامه تمام گزینه هایی را که در آن، این حرف استفاده شده است را آنی نمایش دهد. به این نوع جستجو در اصطلاح جستجوی زنده یا Live Searh می گویند.

آموزش:

  • ابتدا یک EditText و یک ListView در برنامه تعریف میکنید.
  • سپس در قسمت TextChanged ابراز EditText دستور زیر را بنویسید:

مطلب پیشنهادی:  آموزش مقدماتی اکسل - قسمت سوم(معرفی محیط کار)

در دستورات بالا، ابتدا اشیا و کتابخانه ها را تعریف کردیم و سپس در بخش Activity_Create آمدیم و دیتابیس رو داخل کارت حافظه گوشی کپی کردیم و در بخش TextChanged دستورات اصلی را نوشتیم.

در EditText هر تغییری که انجام بشه(شامل تایپ کردن کلمه و حذف کلمه) رویداد TextChanged اجرا میشه؛ در واقع ما گفتیم که هر کلمه ای که در EditText تایپ شد به صورت آنی و در لحظه(زنده) در دیتابیس بگرد و نتایج جستجو رو نشون بده.

در دستور LIKE، به علامت های درصد و تک کتیشن ها و دابل کوتیشن ها دقت کنید، این علائم در سرچ بسیار تاثیر گذارند.

حالا سعی میکنیم در پست های بعدی بیشتر درمورد این علائم و نشانه ها مطلب بنویسیم.

موفق باشید.

درباره مرتضی صباغیهمکار سایت

💎 اپ های من در مایکت https://myket.ir/developer/dev-53936 گروه تلگرامی MR.B4A ( سورس کد و کتابخانه ) https://t.me/programmingwithb4a

دنبال کردن

دیدگاه ( 2 )

  1. از من از نوع: listView1.addtwolines هست که این الگوریتم بهش نمی خونه!!

    • خب شما این دستور رو جایگزین کن

      • این دیدگاه ویرایش شده است

        تشکر. همین قسمت رو گذاشتم ولی هیچ حرکتی صورت نداد.
        For i=۰ To listview1.Size-۱ Dim g As String g=listview1.Getitem(i) If g.Contains(EditText1.Text)=True Then ListView1.AddtwoLines(g,"") End If Next If ListView1.Size=۰ Then ToastMessageShow("هیچ آیتمی یافت نشد",False) End If
        داخل دابل کوتیشین رو خالی گذاشتم.

        • خب، باید یادبگیری که EditText1 یک رویداد نیست. بلکه نام شیء هست که داری ازش استفاده میکنی

          نام رویداد شما TextChanged هست.

          اگه سورستو میذاشتی که بررسی کنم بهتر میتونستم کمکت کنم.

        • حاجی شما این کدو بذار داخل برنامت ببین خطاش چیه

           

          • این دیدگاه ویرایش شده است

            الان خطا نمیده. ولی کلا هرچی مینویسم پاشو کرده تو یه کفش که هیچ آیتمی یافت نشد!!

            توی رویداد

            EditText1

            خطاش روی g=l.Get(i) بود. متن پیامشم:

            java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0

            ولی وقتی کد را روی رویداد کلیک دکمه جستجو بردم بدون فورس کلوز فقط میگه چیزی پیدا نشد.

        • شما باید L رو از نوع list تعریف کنید

          فقط list هست که پارامتر get داره

          • این دیدگاه ویرایش شده است

            سلام” کلی کد تغییر دادم، حذف و اضافه کردم، داخل همه جور سایتی گشتم.. اما به محض نوشتن اولین حرف داخل ادیت تکست روی خط شماره ۵ خطای

            java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0

            میده و از برنامه خارج میشه.

             

        • اولا که این خط کجاست؟

          دوما چرا اینقدر نافرم کدهارو توی سایت قرار دادی؟!!

          یه اینتر میزدی مرتبشون میکردی.

          • این دیدگاه ویرایش شده است

            نمیدونم شما L رو چی تعریف کردید. من برداشتم لیست ویو بوده. ولی بازم خطا داده. هر طوری که تغییر میدم بازم خطا می ده.

            کدهای شمارو بر اساس برنامه خودم تغییر دادم

  2. سلام” تشکر. اما اگه دیتابیس نداشتیم و خواستیم از داخل همین لیست ویو فعلی سرچ کنه چی؟؟

    • سلام.

      خواهش میکنم.

      به نظرم از این الگوریتم استفاده کن

       

ارسال نظر

رفتن به بالا

سامانه آموزشی و خدماتی بپرسم

اولین وب سایت آموزشی و پرسش و پاسخ در ایران

بپرسم را میتوان به عنوان مرجعی برای آموزش و حل مشکلات دانست، در بپرسم سعی کرده ایم آموزش های برنامه نویسی، طراحی سایت، کار با نرم افزارها ها و… را آموزش دهیم. همچنین محیطی فراهم کرده ایم تا کاربران بتوانند در این محیط سوالات خود را بپرسند و مشکل خود را حل کنند.