پژمان نیکروان 6,055 ارسال شده در 1 آبان، ۱۳۹۵ اشتراک گذاری ارسال شده در 1 آبان، ۱۳۹۵ سلام و علیکم. خب همونطور که میدونید توی بیسیک4اندروید یک مشکلی در رویداد Button_Down داریم که اون تکرار شدنش هست. به فرض شما دارید یک برنامه پیانو میسازید و در رویداد Down تعیین کردین که صدا بخوره، ولی این صدا دوبار تکرار میشه و یا یک چیزی رو توی لاگ چاپ کنید دوبار تکرار میشه. سعی کردم اینو با شرط گذاری توی خودش حل کنم اما نشد و یه مشکلاتی داشت. به همین دلیل مستقیم از جاوا استفاده کردم و رویداد Down رو آوردم برای بیسیک. خیلی هم راحت هست. اول از همه کتابخانه JavaObject رو تیک میزنیم و کدهای جاوای زیر رو زیر یکی از End sub ها در فضای خالی می نویسیم: #if java import anywheresoftware.b4a.BA; import android.widget.Button; import android.view.View.OnTouchListener; import android.view.MotionEvent; import android.view.View; public void MakeEvent(Button button,final String EventName,final String EventName2){ button.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View arg0, MotionEvent motionevent) { if(motionevent.getAction()==MotionEvent.ACTION_DOWN){ processBA.raiseEventFromUI(this, EventName,null);} else if(motionevent.getAction()==MotionEvent.ACTION_UP){ processBA.raiseEventFromUI(this, EventName2,null);} return false; //pejman nikravan } }); } #end if بعدش خیلی راحت Button و نام رویداد(Event name) رو بهش میدیم: Dim j As JavaObject j.InitializeContext j.RunMethod("MakeEvent",Array As Object(Button1,"btn1_down","btn1_up")) اینجا من نام باتن خودم رو اول دادم بهش، بعدش هم یه رویداد گذاشتم که هروقت باتن Down شد اون رویداد اجرا بشه. پارامتر بعدی هم btn1_up هست، اینم با جاوا اضافه کردیم به این دلیل با اضافه کردن رویداد Down ، رویداد Up از کار میفته. اسم رویداد down من btn1_down هست و رویداد Up هم btn1_up ، پس sub اش رو می سازم: Sub btn1_down End Sub Sub btn1_up End Sub به همین راحتی، کدهامو هم هرچی که هست مینویسم توش. حالا اگه کسی چندتا باتن داشت هم مشکلی نداره، باتن رو معرفی میکنی و نام رویدادش رو تغییر میدید، مثلا: btn2_down , btn3_down... برای اینکه بیشتر متوجه بشید سورس رو دانلود کنید. دریافت سورس نمونه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 2 آبان، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 2 آبان، ۱۳۹۵ دوستان پست اول ویرایش شد و رویداد UP هم اضافه شد. به این دلیل که وقتی رویداد Down رو با جاوا اضافه میکردیم، Up از کار میفتاد. کار خاصی نکردم، فقط به پارامتر برای نام ایونت Button_Up هم اضافه شد توی کدهای جاوا و جاوا آبجکت. سورس هم ویرایش شد سورس جدید رو دریافت کنید. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.