من یه اسکرول ویو دارم و یک لیبل و متن رو در لیبل نمایش میدم
اما گاهی متنها که از دیتابیس فراخوانی میشه حجمش بسیار زیاده و تا بخواد لود بشه برنامه میره تو کما
میخوام یه کاری کنم که مثلا 300 تا حرف 300 تا حرف لود بشه یعنی به این صورت
500 تای اول لود بشه وقتی اسکرول ویو به انتها رسید 500 تای دیگه لود بشه
تا اینکه متن تمام بشه
دوستان کمک کنند
سورس رو پیوست کردم لطفا تصحیح بفرمائید
دوستان راهنمایی کردند که از position استفاده بشه من یه مقداریش رو نوشتم اما مشکل داره
مشکلش اینه که طول متن من 9700 تاست ولی positon اسکرول تا 870 تا بیشتر نمیره
سورس رو هم آپلود کردم دوستان لطفا راهنمایی کنند
Sub Process_Globals
Dim sql1 As SQL
Dim cur As Cursor
End Sub
Sub Globals
Private sv As ScrollView
Dim l1 As Label
Dim FontSize As String
Dim j,k As Int
Private EditText1 As EditText
Dim su As StringUtils
Dim s As String
Dim i As Int
Private EditText2 As EditText
Private EditText3 As EditText
Private EditText4 As EditText
Private EditText5 As EditText
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Matlab")
sql1.Initialize(File.DirInternal,"a1.db",False)
cur= sql1.ExecQuery("SELECT * FROM mytable")
'______________________________________________________________
If sql1.IsInitialized=False Then
sql1.Initialize(File.DirInternal,"a1.db",False)
End If
'__________________________________________________________________
cur = sql1.ExecQuery("SELECT * FROM mytable WHERE id =1")
EditText1.Text= sv.ScrollPosition
Dim l1 As Label
l1.Initialize("")
l1.TextColor = Colors.Black
l1.Gravity = Gravity.RIGHT
For i = 0 To cur.RowCount-1
cur.Position = i
s = cur.GetString("matn")
l1.Text=s.SubString2(0,200)
Next
sv.Panel.AddView(l1,20,0,100%x,100%y)
l1.Width =sv.Panel.Width +70%x
l1.TextSize = 30
k = su.MeasureMultilineTextHeight(l1,s.SubString2(0,200))
l1.Height = k
sv.Panel.Height = k
End Sub
Sub sv_ScrollChanged(Position As Int)
EditText1.Text= sv.ScrollPosition
EditText5.Text=s.Length
If sv.ScrollPosition+sv.Height<=sv.Panel.Height Then
EditText4.Text="1111111111111"
j =500
If j <s.Length Then
l1.Text = s.SubString2(0,j)
i = su.MeasureMultilineTextHeight(l1,s.SubString2(0,j))
j=j+500
l1.Height = j
sv.Panel.Height = j
EditText2.Text="222222222222222"
End If
End If
EditText3.Text=j
End Sub
Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event
If KeyCode = KeyCodes.KEYCODE_BACK Then
Activity.Finish
End If
End Sub
Sub Button2_Click
sv.ScrollPosition=0
EditText1.Text=""
EditText2.Text=""
EditText3.Text=""
EditText4.Text=""
EditText5.Text=""
End Sub
سوال
seyed_27 170
بسمه تعالی
با سلام خدمت مدیریت محترم و دوستان
من یه اسکرول ویو دارم و یک لیبل و متن رو در لیبل نمایش میدم
اما گاهی متنها که از دیتابیس فراخوانی میشه حجمش بسیار زیاده و تا بخواد لود بشه برنامه میره تو کما
میخوام یه کاری کنم که مثلا 300 تا حرف 300 تا حرف لود بشه یعنی به این صورت
500 تای اول لود بشه وقتی اسکرول ویو به انتها رسید 500 تای دیگه لود بشه
تا اینکه متن تمام بشه
دوستان کمک کنند
سورس رو پیوست کردم لطفا تصحیح بفرمائید
دوستان راهنمایی کردند که از position استفاده بشه من یه مقداریش رو نوشتم اما مشکل داره
مشکلش اینه که طول متن من 9700 تاست ولی positon اسکرول تا 870 تا بیشتر نمیره
سورس رو هم آپلود کردم دوستان لطفا راهنمایی کنند
scrolv.zip
لینک ارسال
به اشتراک گذاری در سایت های دیگر
5 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.