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

مشکل با tag ,sender در multipanel


seyed_27

سوال

بسمه تعالی

با سلام خدمت دوستان و اساتید

در مثالی که ضمیمه کردم یه مشکلی دارم

میخوام وقتی Button مربوط به هر قسمت از پنل رو کلیک کردم tag مربوط به آن باتن در edittext اون قسمت درج بشه


 

Multi Panel va CheckBox.rar

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

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

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

در در 1395/12/05, 20:56:48، seyed_27 گفته است :

میخوام وقتی Button مربوط به هر قسمت از پنل رو کلیک کردم tag مربوط به آن باتن در edittext اون قسمت درج بشه

سلام

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

چیکارش کنیم اینو پس.:unknown:

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

در 15 ساعت قبل، پژمان نیکروان گفته است :

سلام

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

چیکارش کنیم اینو پس.:unknown:

این کد رو ولش کنید به کد ذیل و مشکلی که باهاش دارم دقت بفرمائید و ببینید چه راه اصولی ای برای حلش پیدا میشه

من لیبل رو فیتلر میکنم و میخوام به text ش مقدار بدم text باتن هایی که تگشون برابر تگ لیبل هست هم تغییر میکنن در مولتی پنل چرا؟

 

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.

	Private Button1 As Button
	Private Button2 As Button
	Private Button3 As Button
	Private Button4 As Button
	Private Label1 As Label
	Private Label2 As Label
	Private Label3 As Label
	Private Label4 As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("l1")
	Button1.Tag=1
	Button2.Tag=2
	Button3.Tag=3
	Button4.Tag=4
	
	Label1.Tag=1
	Label2.Tag=2
	Label3.Tag=3
	Label4.Tag=4
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub Button1_Click
	Dim tag As Int
	Dim Mybtn As Button
	Mybtn = Sender
	tag = Mybtn.Tag
	Log(tag)
	For Each v As View In Activity.GetAllViewsRecursive
		If v Is Label Then
			Dim myLabel As Label = v
			If myLabel.Tag = tag Then
				myLabel.Text="123"
			End If
		End If
	Next
End Sub

Sub Button2_Click
	Dim tag As Int
	Dim Mybtn1 As Button
	Mybtn1 = Sender
	tag = Mybtn1.Tag
	Log(tag)
	For Each v As View In Activity.GetAllViewsRecursive
		If v Is Label Then
			Dim myLabel As Label = v
			If myLabel.Tag = tag Then
				myLabel.Text="456"
			End If
		End If
	Next
End Sub


 

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

این همون کاری که میخواین انجام میده.

سورس جدید

Multi Panel va CheckBox2

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

در 20 ساعت قبل، پژمان نیکروان گفته است :

این همون کاری که میخواین انجام میده.

سورس جدید

Multi Panel va CheckBox2

مشکل کدی که در بالا قرار دادم چیه

چرا وقتی میخوام با tag , sender به لیبل مقدار بدم مقدار باتن هم عوض میشه

خیلی عجیه

انگار باگ بیسیکه

این مشکل رو چطور میشه حلش کرد
 

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

در در 1395/12/09, 20:54:13، seyed_27 گفته است :

مشکل کدی که در بالا قرار دادم چیه

چرا وقتی میخوام با tag , sender به لیبل مقدار بدم مقدار باتن هم عوض میشه

خیلی عجیه

انگار باگ بیسیکه

این مشکل رو چطور میشه حلش کرد
 

کدی که نوشتی اشتباه

For Each v As View In Activity.GetAllViewsRecursive
		If v Is Label Then
			Dim myLabel As Label = v
			If myLabel.Tag = tag Then
				myLabel.Text="123"
			End If
		End If
	Next

این حلقه شما تمام شرایط رو شامل می شه چون شرطش رو بد نوشتی

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

مثلا بگی وقتی تو ی پنل روی یک باتون کلیک کرد ، بیادسندر کنه اون باتون رو

+ بعد ببینه اون باوتن پرنتش چیه ( والدش ) حالا بیاد فرزندان اون والد رو بگیره ( 2 تا فرزند داره یکی همین باتون و دیگری هم یک لیبل )

بیاد به لیبل ( حالا هر جور که دوس داشتی ) متنش رو عوض کنه

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

در 9 ساعت قبل، softir گفته است :

کدی که نوشتی اشتباه






For Each v As View In Activity.GetAllViewsRecursive
		If v Is Label Then
			Dim myLabel As Label = v
			If myLabel.Tag = tag Then
				myLabel.Text="123"
			End If
		End If
	Next

این حلقه شما تمام شرایط رو شامل می شه چون شرطش رو بد نوشتی

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

مثلا بگی وقتی تو ی پنل روی یک باتون کلیک کرد ، بیادسندر کنه اون باتون رو

+ بعد ببینه اون باوتن پرنتش چیه ( والدش ) حالا بیاد فرزندان اون والد رو بگیره ( 2 تا فرزند داره یکی همین باتون و دیگری هم یک لیبل )

بیاد به لیبل ( حالا هر جور که دوس داشتی ) متنش رو عوض کنه

این مشکل با این کد حل شد:

      



	For Each v As View In sv.Panel.GetAllViewsRecursive
		If GetType(v)="android.widget.TextView" Then

			If v.Tag=Mybtn.Tag Then
				Dim lb As Label=v
				lb.Text=Mybtn.Tag
				
			End If
		End If
	Next



 

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

بایگانی شده

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

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

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