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

مشکل در علاقه مندیها


سیدمحمد

سوال

مدت زیادیه که با این مشکل مشغولم...

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

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

حالا برای بخش علاقه مندی ها به یک مشکل خوردم. اونم اینکه مطالب نشان شده رو به درستی لود میکنم،

اما توی آیتم کلیک هاشون مشکل دارم.

این کد اکتیویتی علاقه مندی ها:

Sub Globals
	Dim cur As Cursor
	Private ListView1 As ListView
End Sub

Sub Activity_Create(FirstTime As Boolean)

	Activity.LoadLayout("frm_fav")
	


cur = menu.s.ExecQuery("SELECT * FROM tbl1 WHERE neshan = 1")
For i = 0 To cur.rowcount - 1
cur.position = i
ListView1.AddSingleLine2(cur.GetString("onvan"),cur.GetInt("id"))
Next
cur = menu.s.ExecQuery("SELECT * FROM tbl2 WHERE neshan = 1")
For i = 0 To cur.rowcount - 1
cur.position = i
ListView1.AddSingleLine2(cur.GetString("onvan"),cur.GetInt("id"))
Next
cur = menu.s.ExecQuery("SELECT * FROM tbl3 WHERE neshan = 1")
For i = 0 To cur.rowcount - 1
cur.position = i
ListView1.AddSingleLine2(cur.GetString("onvan"),cur.GetInt("id"))
Next
cur = menu.s.ExecQuery("SELECT * FROM tbl4 WHERE neshan = 1")
For i = 0 To cur.rowcount - 1
cur.position = i
ListView1.AddSingleLine2(cur.GetString("onvan"),cur.GetInt("id"))
Next
cur = menu.s.ExecQuery("SELECT * FROM tbl5 WHERE neshan = 1")
For i = 0 To cur.RowCount-1
cur.Position=i
ListView1.AddSingleLine2(cur.GetString("onvan"),cur.GetInt("id"))
Next
	
	ListView1.SingleLineLayout.Label.Gravity= Gravity.CENTER
End Sub

Sub ListView1_ItemClick (Position As Int, Value As Object)
	Value = cur.GetInt("id")
	StartActivity(act_matlab)
End Sub

مشکلم در قسمت آیتم کلیک هستش. وقتی روی آیتمی کلیک میکنم این ارور رو میده:

g.png

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

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

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

مدت زیادیه که با این مشکل مشغولم...

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

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

حالا برای بخش علاقه مندی ها به یک مشکل خوردم. اونم اینکه مطالب نشان شده رو به درستی لود میکنم،

اما توی آیتم کلیک هاشون مشکل دارم.

این کد اکتیویتی علاقه مندی ها:

Sub Globals
	Dim cur As Cursor
	Private ListView1 As ListView
End Sub

Sub Activity_Create(FirstTime As Boolean)

	Activity.LoadLayout("frm_fav")
	


cur = menu.s.ExecQuery("SELECT * FROM tbl1 WHERE neshan = 1")
For i = 0 To cur.rowcount - 1
cur.position = i
ListView1.AddSingleLine2(cur.GetString("onvan"),cur.GetInt("id"))
Next
cur = menu.s.ExecQuery("SELECT * FROM tbl2 WHERE neshan = 1")
For i = 0 To cur.rowcount - 1
cur.position = i
ListView1.AddSingleLine2(cur.GetString("onvan"),cur.GetInt("id"))
Next
cur = menu.s.ExecQuery("SELECT * FROM tbl3 WHERE neshan = 1")
For i = 0 To cur.rowcount - 1
cur.position = i
ListView1.AddSingleLine2(cur.GetString("onvan"),cur.GetInt("id"))
Next
cur = menu.s.ExecQuery("SELECT * FROM tbl4 WHERE neshan = 1")
For i = 0 To cur.rowcount - 1
cur.position = i
ListView1.AddSingleLine2(cur.GetString("onvan"),cur.GetInt("id"))
Next
cur = menu.s.ExecQuery("SELECT * FROM tbl5 WHERE neshan = 1")
For i = 0 To cur.RowCount-1
cur.Position=i
ListView1.AddSingleLine2(cur.GetString("onvan"),cur.GetInt("id"))
Next
	
	ListView1.SingleLineLayout.Label.Gravity= Gravity.CENTER
End Sub

Sub ListView1_ItemClick (Position As Int, Value As Object)
	Value = cur.GetInt("id")
	StartActivity(act_matlab)
End Sub
مشکلم در قسمت آیتم کلیک هستش. وقتی روی آیتمی کلیک میکنم این ارور رو میده:

g.png

ارور به خاطر اینه که سلکتت مشکل داره , اگر کدتو درست بزاری بتونم بخونمش میگم مشکلت چیه دقیقا

Sent from my HUAWEI G750-U10 using Tapatalk

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

سلام

ببینید بعد از تموم شدن کار کرسور شما باید ببندینش ( Close ).و اینکه شما از یک کرسور برای چندین کوئری یکجا استفاده کردید فکر نکنم زیاد درست باشه.

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

Sub getData(tableNames As List)
 Private cr As Cursor
 If tableNames.Size > 0 Then
  For j = 0 To tableNames.Size - 1
	cr = menu.s.ExecQuery("SELECT * FROM '" & tableNames.Get(j) & "' WHERE neshan = 1")
	For i = 0 To cr.rowcount - 1
		cr.position = i
		ListView1.AddSingleLine2(cr.GetString("onvan"),cr.GetInt("id"))
	Next
	cr.Close
 Next
End Sub

بعد اسم تیبل هارو اینطور بدید » ( نحوه استفاده از تابع )

Private tables As List
tables.Initialize
tables.AddAll(Array As String("table1","table2","table3","table4"))
getData(tables)

هم کد نویسیتون نظم پیدا می کنه هم پویاتر هستش.

 

و در ادامه کد مربوط یه رویداد رو تغییر بدید »

Sub ListView1_ItemClick (Position As Int, Value As Object)
	obj = Value  -> obj : Declare In Process_Globals
	StartActivity(act_matlab)
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

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

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