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

قراردادن ویو دلخواه در پنجره دیالوگ

سوال

est931    0

سلام

برای اولین کار با بیسیک فور اندروید

یک پروژه با بانک اطلاعاتی رو شروع کردم و کم کم دارم میبرم جلو

الان در حالتی که در تصویر می بینید هست

برای بهتر شدن برنامه میخوام وقتی رو گزینه جدید کلیک می کنم  یک دیالوگ باز بشه و اطلاعاتی که در تصویر دورش خط کشیده شده در پنجره دیالوگ نمایش داده بشه

برای این کار در اینترنت جستجو کردم و کدهای زیر رو پیدا کردم

 

	Private xui As XUI
  Private dialog As B4XDialog
  
Sub btnCustom_Click
	sp2.cmbBox.Add("تولد")
	Dim p As B4XView = xui.CreatePanel("")
	p.SetLayoutAnimated(0, 0, 0, GetDeviceLayoutValues.Width- 20%x, GetDeviceLayoutValues.Height- 73%y)
	p.LoadLayout("pop")
	dialog.PutAtTop = True 'put the dialog at the top of the screen
	Wait For (dialog.ShowCustom(p, "OK", "", "CANCEL")) Complete (Result As Int)
	If Result = xui.DialogResponse_Positive Then
		dialog.Show(txtName.Text & " " & txtName.Text , "OK", "", "")
	End If
End Sub

این کدها رو تغییر دادم و ظاهرش رو در لایوت  CustomDialog مربوطه طراحی کردم

منتهی وقتی spinner  اضاف کردم به فرم  هر چی آیتم بهش اضاف می کنم نمایش داده نمیشه

 

چطور میشه ویوهای دلخواه در پنجره دیالوگ نمایش داده بشن    ؟  text edit  ها مشکلی ندارن مشکل اصلی با spinner هست

 

 

Screenshot_2020_07_17_20_47_46.png

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


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

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

پست های پیشنهاد شده

  • 1
در 38 دقیقه قبل، est931 گفته است :

 

باید با دستور panel.GetView به اسپینر دسترسی پیدا کنید و اونو ویرایش کنید. یه سورس ساده نوشتم که اسپینر توی دیالوگ هست و بهش آیتم دادم. ازش ایده بگیرید

dialog.zip

  • پسندیدن 1

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 35 دقیقه قبل، est931 گفته است :

سلام

برای اولین کار با بیسیک فور اندروید

یک پروژه با بانک اطلاعاتی رو شروع کردم و کم کم دارم میبرم جلو

الان در حالتی که در تصویر می بینید هست

برای بهتر شدن برنامه میخوام وقتی رو گزینه جدید کلیک می کنم  یک دیالوگ باز بشه و اطلاعاتی که در تصویر دورش خط کشیده شده در پنجره دیالوگ نمایش داده بشه

برای این کار در اینترنت جستجو کردم و کدهای زیر رو پیدا کردم

شما اسپینر رو کجا به دیالوگ اضافه کردین؟ من تو این کدها نمیبینم که اسپینر به دیالوگ اضفه شده باشه

  • پسندیدن 1

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
est931    0
در 53 دقیقه قبل، محمدرضا شاهپیری گفته است :

شما اسپینر رو کجا به دیالوگ اضافه کردین؟ من تو این کدها نمیبینم که اسپینر به دیالوگ اضفه شده باشه

اسپینر (کمبو باکس) رو تو لایوت دیالوگ اضاف کردم

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

 

این کدها رو هم اضاف کردم

	Private dialog As B4XDialog
	Private sp2 As B4XComboBox

بقیه هم مثل کد های بالا هست

بعد که یه ایتم اضاف کردم نشون نمیده

 

sp2.cmbBox.Add("تولد")
	

 

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


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

ببخشید سورس گذاشته شده مشکلم رو حل کرد

منتهی میشه کمی در خصوص کدهای زیر توضیح بدید

Sub ShowDialog
	Dim xui As XUI	
	Dim p As B4XView = xui.CreatePanel("")
	p.SetLayoutAnimated(0, 0, 0, 300dip, 170dip) 'set the content size
	p.LoadLayout("dialog")
	Private spiner As Spinner=p.GetView(0)
	spiner.Add("item 1")
	spiner.Add("item 2")
	spiner.Add("item 3")
	Dim rs As ResumableSub = Dialog.ShowCustom( p, "Ok", "", "Cancel")
	Wait For (rs) Complete (Result As Int)
	If Result = xui.DialogResponse_Positive Then
		
	End If
End Sub

بویژه این قسمت 

Private spiner As Spinner=p.GetView(0)

در خصوص p.GetView(0)

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در ۱ ساعت قبل، est931 گفته است :

ببخشید سورس گذاشته شده مشکلم رو حل کرد

منتهی میشه کمی در خصوص کدهای زیر توضیح بدید

بویژه این قسمت 

Private spiner As Spinner=p.GetView(0)

در خصوص p.GetView(0)

توضیح خاصی نداره دوست عزیز. شما وقتی یه لایه رو با پنل لود کنید با دستور p.GetView میتونید به آیتمهای اون  دسترسی پیدا کنید. هر ویو توی پنل یه موقعیتی داره که بهش پوزیشن اون ویو توی پنل میگن.

  • پسندیدن 1

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
est931    0
در 13 ساعت قبل، محمدرضا شاهپیری گفته است :

توضیح خاصی نداره دوست عزیز. شما وقتی یه لایه رو با پنل لود کنید با دستور p.GetView میتونید به آیتمهای اون  دسترسی پیدا کنید. هر ویو توی پنل یه موقعیتی داره که بهش پوزیشن اون ویو توی پنل میگن.

بله درسته

اما چطور میشه شماره اندیس ویو مورد نظر رو بدست آورد

وقتی نتیجه

	Log(p.GetView(0))

برای مثال شما نگاه می کنم این نتیجه رو میده

(B4ASpinner) anywheresoftware.b4a.objects.SpinnerWrapper$B4ASpinner{13d40659 V.ED..C. ......I. 0,0-0,0 #4}

اما  وقتی در پروژه خودم استفاده می کنم نتیجه این هست

(BALayout) anywheresoftware.b4a.BALayout{25183162 V.E..... ......ID 0,0-0,0 #18}

وقتی اندیسش رو به 1 تغییر میدم این خروجی رو میده (میخوام بدونم چطور باید بدون آزمون خطا اندیس مورد نظر رو پیدا کنم)

(B4ASpinner) anywheresoftware.b4a.objects.SpinnerWrapper$B4ASpinner{11cc01ae V.ED..C. ......I. 0,0-0,0 #22}

ممنون از وقتی که میزارید

 

 

 

 

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در ۱ ساعت قبل، est931 گفته است :

بله درسته

اما چطور میشه شماره اندیس ویو مورد نظر رو بدست آورد

وقتی نتیجه


	Log(p.GetView(0))

برای مثال شما نگاه می کنم این نتیجه رو میده


(B4ASpinner) anywheresoftware.b4a.objects.SpinnerWrapper$B4ASpinner{13d40659 V.ED..C. ......I. 0,0-0,0 #4}

اما  وقتی در پروژه خودم استفاده می کنم نتیجه این هست


(BALayout) anywheresoftware.b4a.BALayout{25183162 V.E..... ......ID 0,0-0,0 #18}

وقتی اندیسش رو به 1 تغییر میدم این خروجی رو میده (میخوام بدونم چطور باید بدون آزمون خطا اندیس مورد نظر رو پیدا کنم)


(B4ASpinner) anywheresoftware.b4a.objects.SpinnerWrapper$B4ASpinner{11cc01ae V.ED..C. ......I. 0,0-0,0 #22}

ممنون از وقتی که میزارید



 

 



 

 

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

  • پسندیدن 1

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • جدید...