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

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


absolutezero

سوال

سلام خدمت همه اساتید و دوستان گل .


من یه مشکل توی علاقه مندی دارم اونم این هست که من یک مولتی پنل درست کردم و روش یک عکس قلب گذاشتم و توی دیتابیس هم یک ستون قرار دادن به اسم fav و گفتم هروقتی که fav برابر 1 بود عکس قلب قرمز و وقتی هم که 0 بود عکس قلب تو خالی رو نشون بده ... اما توی اینجا دوتا مشکل دارم اولی این که روی عر عکس فقط میشه یک بار کلیک کرد یعنی مثلا من با یک کلیک روی قلب اون رو به علاقه مندی میفرستم ولی وقتی دوباره روش کلیک میکنم عکس عوض نمیشه ولی از علاقه مندی خارج میشه. مشکل دوم که مشکل اصلی هم هست بعد از اضافه شدن به علاقه مندی وقتی که به یک فرم دیگه میرم و بر میگردم همه ی عکسهای قلب ها به یک شکل میشن ....


این هم کدهام : 



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

If File.Exists(File.DirInternal,"fara.db") = False Then
File.Copy(File.DirAssets,"fara.db",File.DirInternal,"fara.db")
End If

If sql1.IsInitialized = False Then
sql1.Initialize(File.DirInternal,"fara.db",False)
End If
sql3.Initialize(File.DirInternal,"fara.db",False)
sql4.Initialize(File.DirInternal,"fara.db",False)
If Main.meghdar = 1 Then
cur1=sql1.ExecQuery("select * from tblfara where fasl = 1")
cur3=sql1.ExecQuery("select * from tblfara where fasl = 1")

else If Main.meghdar = 2 Then
cur1=sql1.ExecQuery("select * from tblfara where fasl = 2")
cur3=sql1.ExecQuery("select * from tblfara where fasl = 2")
else If Main.meghdar = 3 Then
cur1=sql1.ExecQuery("select * from tblfara where fasl = 3")
cur3=sql1.ExecQuery("select * from tblfara where fasl = 3")
else If Main.meghdar = 4 Then
cur1=sql1.ExecQuery("select * from tblfara where fasl = 4")
cur3=sql1.ExecQuery("select * from tblfara where fasl = 4")
else If Main.meghdar = 5 Then
cur1=sql1.ExecQuery("select * from tblfara where fasl = 5")
cur3=sql1.ExecQuery("select * from tblfara where fasl = 5")
End If

For i = 0 To cur3.RowCount-1
cur3.Position=0

Next
sql2.Initialize(File.DirInternal,"fara.db",False)
cur2=sql2.ExecQuery("select * from tbl_setting")
For i = 0 To cur2.RowCount-1
cur2.Position = i
Next
m=cur2.GetString("font")
n=cur2.GetInt("size")

For i = 0 To cur1.RowCount-1
cur1.Position=i
Dim P As Panel
P.Initialize("p")
ScrollView1.Panel.AddView(P,0,stop,100%x,100%y)
stop = stop + 10%Y
P.LoadLayout("2")

Label1.Text = cur1.GetString("onvan") 'aval in
Panel9.Tag = cur1.GetInt("id") 'bad in
ImageView1.Tag=cur1.GetInt("id")
ScrollView1.Panel.Height = stop+10%Y
ImageView1.Bitmap=LoadBitmap(File.DirAssets,"fav1.png")
Label1.Typeface=Typeface.LoadFromAssets(m&".ttf")
Label1.TextSize=n
Next

Sub ImageView1_Click
Dim p4 As ImageView
p4=Sender

If cur3.GetInt("fav")=0 Then
sql1.ExecNonQuery("UPDATE tblfara SET fav =1 WHERE id = "&p4.Tag)
ToastMessageShow("اضافه شد",False)
p4.SetBackgroundImage(LoadBitmap(File.DirAssets,"fav1.png"))
Else if cur3.GetInt("fav")=1 Then
sql1.ExecNonQuery("UPDATE tblfara SET fav =0 WHERE id = "&p4.Tag)
ToastMessageShow("حذف شد",False)
p4.SetBackgroundImage(LoadBitmap(File.DirAssets,"fav0.png"))
End If
End Sub


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

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

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

سلام

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

دلیل تعریف  3 4 تا متغییر SQL  و Cursor  رو نمیتونم پیدا کنم.حلقه های بی موردی رو تعریف کردین که کدی داخل بلوکش نیست.اصن یکسری کد بیهوده نوشتید.

ببینید شما این قسمت کد اومدید بدون شرط گذاشتن دارید به همه ایمیج ویو ها عکس نسبت می دید :

	For i = 0 To cur1.RowCount-1
		cur1.Position=i
		Dim P As Panel
		P.Initialize("p")
		ScrollView1.Panel.AddView(P,0,stop,100%x,100%y)
		stop = stop + 10%Y
		P.LoadLayout("2")
		
		Label1.Text = cur1.GetString("onvan") 'aval in
		Panel9.Tag = cur1.GetInt("id")	'bad in
		ImageView1.Tag=cur1.GetInt("id")	
		ScrollView1.Panel.Height = stop+10%Y
ImageView1.Bitmap=LoadBitmap(File.DirAssets,"fav1.png")
		Label1.Typeface=Typeface.LoadFromAssets(m&".ttf")
	Label1.TextSize=n
	Next

تغییر بدید به این کد :

	For i = 0 To cur1.RowCount-1
		cur1.Position=i
		Dim P As Panel
		P.Initialize("p")
		ScrollView1.Panel.AddView(P,0,stop,100%x,100%y)
		stop = stop + 10%Y
		P.LoadLayout("2")
		Label1.Text = cur1.GetString("onvan") 'aval in
		Panel9.Tag = cur1.GetInt("id")	'bad in
		ImageView1.Tag=cur1.GetInt("id")	
		ScrollView1.Panel.Height = stop+10%Y
		If cur1.GetInt("fav") = 1 Then
          ImageView1.Bitmap=LoadBitmap(File.DirAssets,"fav1.png")
		Else
	    	ImageView1.Bitmap=LoadBitmap(File.DirAssets,"fav0.png")
		End If
		Label1.Typeface=Typeface.LoadFromAssets(m&".ttf")
	Label1.TextSize=n
	Next

و شما این کد رو که بنده میدم برای Imageview  قرار بدید.(برای رویداد کلیکش):

Sub ImageView1_Click
	Dim p4 As ImageView
	p4=Sender
    Dim Cr As Cursor
	Cr = sql1.ExecQuery("SELECT fav FROM tblfara WHERE id ="&p4.Tag)
    Cr.Position =  0
     If Cr.GetInt("fav") = 0 Then
	  sql1.ExecNonQuery("UPDATE tblfara SET fav = 1 WHERE id = "&p4.Tag)
	  ToastMessageShow("اضافه شد",False)
      p4.SetBackgroundImage(LoadBitmap(File.DirAssets,"fav1.png"))
	Else
	  sql1.ExecNonQuery("UPDATE tblfara SET fav = 0 WHERE id = "&p4.Tag)
	  ToastMessageShow("خارج شد",False)
	  p4.SetBackgroundImage(LoadBitmap(File.DirAssets,"fav0.png"))
	End If
End Sub

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

موفق باشید.

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

خیلی ممنون از پاسخ شما .... کاملا درست شد ، اول چنین چیزی نوشته بودم ولی به علت یکسری ارور حذفش کردم ولی کد شما کار کرد .

باز هم ممنون بابت پاسخ شما...  :gol:  :gol:  :gol:  :gol:  :gol:  :gol:

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

بایگانی شده

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

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

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