رفتن به مطلب
  • 0

مشکل با KeyPress


Amir - B

سوال

سلام دوستان

من دو تا دستور نوشتم در ساب KeyPress که اگر به طور مثال سایدیبار باز بود ، سایدیبار رو ببنید و اگر نبود ، از برنامه خارج شو . 

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

ممنون میشم راهنمایی کنید . 

Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event
	If KeyCode = KeyCodes.KEYCODE_BACK And sidebar.IsSidebarVisible=True Then
			sidebar.CloseSidebar
			
	Else if KeyCode = KeyCodes.KEYCODE_BACK And sidebar.IsSidebarVisible=False Then

             Activity.Finish
             ExitApplication

	End If

End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

10 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

من از کد زیر استفاده کردم بدون خطا


Sub Activity_KeyPress (KeyCode As Int) As Boolean
	If KeyCode = KeyCodes.KEYCODE_BACK AND MD.IsDrawerOpen Then
	MD.CloseDrawer
	Return True
	Else If KeyCode = KeyCodes.KEYCODE_BACK AND MD.IsDrawerOpen=false Then
		
			ExitApplication
			Return False
			
	End If

End Sub

باید با return کنترلش کنی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

فکر کنم باید یه دستور

return false

یا

return true

رو بهش اضافه کنی

هر دو تاشو امتحان کن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من نمیدونم از چه سایدباری داری استفاده میکنی

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

اینو اول لاگ کن ببین درست عمل میکنه

sidebar.IsSidebarVisible=True
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

من نمیدونم از چه سایدباری داری استفاده میکنی

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

اینو اول لاگ کن ببین درست عمل میکنه

sidebar.IsSidebarVisible=True

این دستورش درسته چون خودش میگه که ساید بارو میبنده مشکل اینه که بعد اون خارج میشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این یعنی وارد شرط دیگه میشه خوب این منظقی نیست

از چه سایدباری استفاده میکنی؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من از کد زیر استفاده کردم بدون خطا

Sub Activity_KeyPress (KeyCode As Int) As Boolean
	If KeyCode = KeyCodes.KEYCODE_BACK AND MD.IsDrawerOpen Then
	MD.CloseDrawer
	Return True
	Else If KeyCode = KeyCodes.KEYCODE_BACK AND MD.IsDrawerOpen=false Then
		
			ExitApplication
			Return False
			
	End If

End Sub

باید با return کنترلش کنی

 

 

 

خیلی ممنون مشکلم حل شد

میشه یک توضیحی درباره Return بدید ؟

چی هست و کارش چیه ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

IsDrawerOpen

از دست شما دوستان وقتی میگم IsSidebarVisible=True غیرمنطقی هست قبول نمیکنید

 

 بعضی از ساب ها هستن که یک مقدار رو برمیگردونن Return کمک میکمه تا مقدار رو به ساب و در نهایت به ماشین برگردونید

Sub Activity_KeyPress (KeyCode As Int) As Boolean

در اینجا انتهاش نوشته As Boolean یعنی یک مقدار True یا False ازت میگره که با Return میتونی بهش بدی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خیلی ممنون مشکلم حل شد

میشه یک توضیحی درباره Return بدید ؟

چی هست و کارش چیه ؟

بله همون طور که دوستمون گفتن بعضی از ساب ها یه مقدار بر میگردونن

رویداد keypress از نوع boolean هست

یعنی وقتی کلیدی فشرده میشه مقداری برمیگردونه که نشون بده کلید فشرده شده یا فشرده نشده .

اینجا میگه اگه کلید برگشته فشرده شده و منو مخفی بود false رو برمیگردونه تا سیستم عامل از برنامه خارج بشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...