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

java.lang.ArrayIndexOutOfBoundsException


ben799

سوال

سلام خدا قوت من برای قطعه کدم این ارور رو دریافت کردم تاپیک مربوطه رو خوندم ولی به کارم نیومد

تاپیک مربوطه 

Sub Globals
	Dim i As Int = 0
End Sub

Sub Button1_Click
	
	Dim p(i) As Panel
	Dim list(i) As ListView
	Dim check(i) As CheckBox
	
	p(i).Initialize("")
	list(i).Initialize("")
	check(i).Initialize("")
	list(i).Color = Colors.Red
	p(i).Color =Colors.Blue
	
	Panel1.AddView( p(i)  ,1%x,1%y,98%x,10%y)
	p(i).AddView( list(i) ,1%x,1%y,80%x,10%y)
	p(i).AddView(check(i),90%x,1%y,9%x,10%y)
	list(i).AddTwoLines("first line","second line")
    
    i = i + 1
        
End Sub    

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

(Error occurred on line: 88 (Main

java.lang.ArrayIndexOutOfBoundsException: length=0; index=1

خط 88 می شه :  فاصله خالی بعد از     Dim check(i) As CheckBox 

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

 

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

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

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

در 21 ساعت قبل، ben799 گفته است :

سلام خدا قوت من برای قطعه کدم این ارور رو دریافت کردم تاپیک مربوطه رو خوندم ولی به کارم نیومد

تاپیک مربوطه 


Sub Globals
	Dim i As Int = 0
End Sub

Sub Button1_Click
	
	Dim p(i) As Panel
	Dim list(i) As ListView
	Dim check(i) As CheckBox
	
	p(i).Initialize("")
	list(i).Initialize("")
	check(i).Initialize("")
	list(i).Color = Colors.Red
	p(i).Color =Colors.Blue
	
	Panel1.AddView( p(i)  ,1%x,1%y,98%x,10%y)
	p(i).AddView( list(i) ,1%x,1%y,80%x,10%y)
	p(i).AddView(check(i),90%x,1%y,9%x,10%y)
	list(i).AddTwoLines("first line","second line")
    
    i = i + 1
        
End Sub    

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

(Error occurred on line: 88 (Main

java.lang.ArrayIndexOutOfBoundsException: length=0; index=1

خط 88 می شه :  فاصله خالی بعد از     Dim check(i) As CheckBox 

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

 

سلام دوست عزیز

اولا علت ارور شما اینه که شما میاید به تعداد i پنل میسازید که i هم صفره و عملا شما هیچ پنلی ندارید اگر به متن ارور هم دقت کنید میگه length صفره و تو داری با size یک کار انجام میدی

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

Sub Globals
	Dim i As Int = 1
	Dim c As Int
	Private Panel1 As Panel
End Sub

Sub Button1_Click
	Dim P(i) As Panel
	Dim list(i) As ListView
	Dim check(i) As CheckBox
	
	P(i - 1).Initialize("")
	list(i - 1).Initialize("")
	check(i - 1).Initialize("")

	P(i - 1).AddView(list(i - 1) ,1%x,1%y,80%x,10%y)
	p(i - 1).AddView(check(i - 1),90%x,1%y,9%x,10%y)
	list(i - 1).AddTwoLines("first line","second line")
	If(i > 1) Then
		Panel1.AddView(p(i - 1) , 0 , c + 25%Y , 100%X , 20%Y)
	Else 
		Panel1.AddView(p(i - 1) , 0 , 0 , 100%X , 20%Y)
	End If
	P(i - 1).Color = Colors.Rgb(Rnd(0 ,255) , Rnd(0 ,255) , Rnd(0 ,255))
	c = P(i - 1).Top
	i = i + 1
End Sub

من یک متغیر c هم اضافه کردم که پنل ها نرن تو هم شما میتونید استفاده نکنید

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

در در 30 آذر 1399 در 01:25، Mthzf1384 گفته است :

سلام دوست عزیز

اولا علت ارور شما اینه که شما میاید به تعداد i پنل میسازید که i هم صفره و عملا شما هیچ پنلی ندارید اگر به متن ارور هم دقت کنید میگه length صفره و تو داری با size یک کار انجام میدی

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


Sub Globals
	Dim i As Int = 1
	Dim c As Int
	Private Panel1 As Panel
End Sub

Sub Button1_Click
	Dim P(i) As Panel
	Dim list(i) As ListView
	Dim check(i) As CheckBox
	
	P(i - 1).Initialize("")
	list(i - 1).Initialize("")
	check(i - 1).Initialize("")

	P(i - 1).AddView(list(i - 1) ,1%x,1%y,80%x,10%y)
	p(i - 1).AddView(check(i - 1),90%x,1%y,9%x,10%y)
	list(i - 1).AddTwoLines("first line","second line")
	If(i > 1) Then
		Panel1.AddView(p(i - 1) , 0 , c + 25%Y , 100%X , 20%Y)
	Else 
		Panel1.AddView(p(i - 1) , 0 , 0 , 100%X , 20%Y)
	End If
	P(i - 1).Color = Colors.Rgb(Rnd(0 ,255) , Rnd(0 ,255) , Rnd(0 ,255))
	c = P(i - 1).Top
	i = i + 1
End Sub

من یک متغیر c هم اضافه کردم که پنل ها نرن تو هم شما میتونید استفاده نکنید

سلام استاد خدا قوت 

من الان چند روزه دارم سعی می کنم 

با استفاده از یک Button دیگه اونم زمانی که متغیر check از خونم i ام تیکش خورده باشه کل پنل رو حذف کنم 


Sub Globals

	Private Button1 As Button
	Private Button2 As Button
	Dim i As Int = 1
	Dim check(i) As CheckBox
	Dim p(i) As Panel
	Dim list(i) As ListView

	Dim c As Int

	Private Panel1 As Panel
	Private ScrollView1 As ScrollView
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("form")

	DateTime.TimeFormat =  "HH:mm:ss"
	
	p(i- 1).Initialize("")
	list(i-1).Initialize("")
	check(i-1).Initialize(""
	
	Panel1.Initialize("")
	ScrollView1.Panel.LoadLayout("form2")
	ScrollView1.Panel.Height = 200%y
	
	
End Sub

Sub Activity_Resume

End Sub


Sub Button1_Click


	Dim check(i) As CheckBox
	Dim p(i) As Panel
	Dim list(i) As ListView



	p(i- 1).Initialize("")
	list(i-1).Initialize("")
	check(i-1).Initialize("")
	
	list(i-1).Color = Colors.Red
	p(i-1).Color =Colors.Blue
	
	p(i-1).AddView( list(i-1) ,1%x,1%y,80%x,10%y)
	p(i-1).AddView(check(i-1),90%x,1%y,9%x,10%y)
	list(i-1).AddTwoLines(time.Hour&" : "&time.Minute,"second line")
	If i>1 Then
		Panel1.AddView(p(i-1),0,c+11%y,100%x,10%y)
	Else
		Panel1.AddView(p(i-1),0,0,100%x,10%y)
	End If
	c = p(i-1).Top
	PanelListCounter.InsertAt(i-1,i)
	i=i+1
'//////////////////////////////////////////////////////
' 	answercenter.ir	کمک از سایت
'	Dim P(i) As Panel
'	Dim list(i) As ListView
'	Dim check(i) As CheckBox
'	
'	P(i - 1).Initialize("")
'	list(i - 1).Initialize("")
'	check(i - 1).Initialize("")
'
'	P(i - 1).AddView(list(i - 1) ,1%x,1%y,80%x,10%y)
'	p(i - 1).AddView(check(i - 1),90%x,1%y,9%x,10%y)
'	list(i - 1).AddTwoLines("first line","second line")
'	If(i > 1) Then
'		Panel1.AddView(p(i - 1) , 0 , c + 25%Y , 100%X , 20%Y)
'	Else
'		Panel1.AddView(p(i - 1) , 0 , 0 , 100%X , 20%Y)
'	End If
'	P(i - 1).Color = Colors.Rgb(Rnd(0 ,255) , Rnd(0 ,255) , Rnd(0 ,255))
'	c = P(i - 1).Top
'	i = i + 1
	
	
End Sub

Sub Button2_Click
'	حذف آیتم ها

	
End Sub

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

اما تا الان هر راهی به ذهنم رسید اجرا کردم حتی یک لیست به وجود آوردم تا با اون به پنل ها اندیس بدم اما به جایی نرسیدم 

اگه کسی می تونه کده مربوطشو بده 

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

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

بایگانی شده

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

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

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