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

علاقمندی مولتی پنل


porya

سوال

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

ممکنه بنده رو راهنمایی کنید

اینم از کدها

Panel1.Tag = cursor1.GetString("id") & "#" & cursor1.GetString("f")
Sub Panel1_Click
	
	Dim p As Panel
	p = Sender
	Dim parts() As String = Regex.split("#",p.tag)
	StartActivity(matn)
	
End Sub

و برای باتن علاقه کدها به صورت زیر

Sub Button1_Click

	For i = 0 To cursor1.RowCount -1
	cursor1.Position = i
	Next
	
     Dim check As Int
     check = khaterat.parts(1)
     
     If check = 1 Then
	 
         sql1.ExecNonQuery("UPDATE por SET f = 0 WHERE id = "&khaterat.parts(0))
		 sql1.IsInitialized
	     cursor1 = sql1.ExecQuery("SELECT * FROM por")
         ToastMessageShow("از علاقه مندی ها حذف شد",False)
		  
     Else 
	 
         sql1.ExecNonQuery("UPDATE por SET f = 1 WHERE id = "&khaterat.parts(0))
		 sql1.IsInitialized
	     cursor1 = sql1.ExecQuery("SELECT * FROM por")
         ToastMessageShow("به علاقه مندی ها اضافه شد",False)
		 
     End If
	 
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

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

 

 

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

 

اقای آرتا اینم از کدهای بنده

 

اکتیویتی که عناوین رو میگیرم به اسم khaterat

#Region Activity Attributes
    #FullScreen: True
    #IncludeTitle: false
#End Region

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
    
    Dim sql1 As SQL
    Dim cursor1 As Cursor
    Dim parts() As String
    
End Sub

Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.
    
    Private Label1 As Label
    Private Panel1 As Panel
    Private ScrollView1 As ScrollView
    Dim stop As Int = 1%y
    
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("scrollLayout")
    
    
    If File.Exists(File.DirInternal,"porya.db") = False Then
    File.Copy(File.DirAssets,"porya.db",File.DirInternal,"porya.db")
    End If
    
    If sql1.IsInitialized = False Then
    sql1.Initialize(File.DirInternal,"porya.db",True)
    End If
    
    cursor1 = sql1.ExecQuery("SELECT * FROM por")
    
    For i = 0 To cursor1.RowCount-1
    cursor1.Position = i
    
    Dim p As Panel
    p.Initialize("p")
    ScrollView1.Panel.AddView(p,0,stop,88.2%x,100%y)
    stop = stop + 16%y
    p.LoadLayout("z")
    Label1.Text = cursor1.GetString("onvan")
    Dim f As Typeface
    f = Typeface.LoadFromAssets("homa.ttf")
    Label1.Typeface = f
    Label1.TextSize = 23
    Label1.Gravity = Gravity.CENTER
    Label1.TextColor = Colors.Black
    
    Panel1.Tag = cursor1.GetString("tozih") & "#" & cursor1.GetString("onvan") & "#" & cursor1.GetInt("id") & "#" & cursor1.GetInt("f")
    
    ScrollView1.Panel.Height = stop
    
    
    Next
    
    
    
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub Panel1_Click
    
    Dim p As Panel
    p = Sender
    Dim parts() As String = Regex.split("#",p.tag)
    StartActivity(matn)
    
End Sub

و اکتیویتی که متن ها رو میگیرم همراه با دکمه های علاقه و اشتراک به اسم matn

#Region Activity Attributes
    #FullScreen: True
    #IncludeTitle: false
#End Region

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
    
    Dim sql1 As SQL
    Dim cursor1 As Cursor
    
End Sub

Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.
    
    Private ScrollView1 As ScrollView
    Private Button1 As Button
    Private Button2 As Button
    
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("scroll_tozih")
    
    If File.Exists(File.DirInternal,"porya.db") = False Then
    File.Copy(File.DirAssets,"porya.db",File.DirInternal,"porya.db")
    End If
    
    If sql1.IsInitialized = False Then
    sql1.Initialize(File.DirInternal,"porya.db",True)
    End If
    
    cursor1 = sql1.ExecQuery("SELECT * FROM por WHERE onvan='"&khaterat.parts(0)&"'")
    
    Try
    
    Dim stop As Int
    stop = 1%y
    
    Dim int1 As Int
    int1 = 0
    
    For i = 0 To cursor1.RowCount-1
    cursor1.Position = i
    Dim l As Label
    l.Initialize("l")
    l.Text = khaterat.parts(0)
    Dim f As Typeface
    f = Typeface.LoadFromAssets("homa.ttf")
    l.Typeface = f
    l.TextSize = 23
    l.Gravity = Gravity.RIGHT
    l.TextColor = Colors.Black
    ScrollView1.Panel.AddView(l,0,stop,86%x,100%y)
    Dim su As StringUtils
    l.Height = su.MeasureMultilineTextHeight(l,l.Text)
    int1 = int1 + l.Height + 3%y
    ScrollView1.Panel.Height = int1
    
    khaterat.parts(0) = cursor1.GetString("tozih")
    
    Next
    
    Catch
    End Try
    
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub activity_KeyUp (KeyCode As Int) As Boolean
    
    If KeyCode=KeyCodes.KEYCODE_BACK Then
        StartActivity(khaterat)
        Activity.Finish
    End If    
    Return True
    
End Sub

Sub Button1_Click
    
    Dim check As Int
    check = khaterat.parts(3)
    
If check = 1 Then
    
sql1.ExecNonQuery("UPDATE por SET f = 0 WHERE id = "&khaterat.parts(2))
         sql1.IsInitialized
     cursor1 = sql1.ExecQuery("SELECT * FROM por")
ToastMessageShow("از علاقه مندی ها حذف شد",False)
        
Else
    
sql1.ExecNonQuery("UPDATE por SET f = 1 WHERE id = "&khaterat.parts(2))
         sql1.IsInitialized
     cursor1 = sql1.ExecQuery("SELECT * FROM por")
ToastMessageShow("به علاقه مندی ها اضافه شد",False)
        
End If
    
End Sub

Sub Button2_Click
    Dim share As Intent
share.Initialize(share.ACTION_SEND,"")
share.SetType("text/plain")
share.PutExtra("android.intent.extra.TEXT",khaterat.parts(1) & CRLF & CRLF & khaterat.parts(0))
share.WrapAsIntentChooser("متن خود را به اشتراک بگذارید...")
StartActivity(share)
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

کدتون ایراد زیاد داره.

این کد اصلاح شده اکتویتی متن هستش.

Sub Process_Globals

    Dim sql1 As SQL 
End Sub

Sub Globals
    Private ScrollView1 As ScrollView
    Private Button1 As Button
    Private Button2 As Button
    
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("scroll_tozih")
	Dim cursor1 As Cursor
    cursor1 = sql1.ExecQuery("SELECT * FROM por WHERE id="&khaterat.parts(2))
    cursor1.Position = 0
    Try
    
    Dim stop As Int
    stop = 1%y
    
    Dim int1 As Int
    int1 = 0
 
    Dim l As Label
    l.Initialize("l")
    l.Text = khaterat.parts(0)
    Dim f As Typeface
    f = Typeface.LoadFromAssets("homa.ttf")
    l.Typeface = f
    l.TextSize = 23
    l.Gravity = Gravity.RIGHT
    l.TextColor = Colors.Black
    ScrollView1.Panel.AddView(l,0,stop,86%x,100%y)
    Dim su As StringUtils
    l.Height = su.MeasureMultilineTextHeight(l,l.Text)
    int1 = int1 + l.Height + 3%y
    ScrollView1.Panel.Height = int1
    Catch
    End Try
    
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub activity_KeyUp (KeyCode As Int) As Boolean
    
    If KeyCode=KeyCodes.KEYCODE_BACK Then
        StartActivity(khaterat)
        Activity.Finish
    End If    
    Return True
    
End Sub

Sub Button1_Click
    
    Dim check As Int
    check = khaterat.parts(3)
    
If check = 1 Then
    
  sql1.ExecNonQuery("UPDATE por SET f = 0 WHERE id = "&khaterat.parts(2))
ToastMessageShow("از علاقه مندی ها حذف شد",False)
        
  Else
    
  sql1.ExecNonQuery("UPDATE por SET f = 1 WHERE id = "&khaterat.parts(2))
ToastMessageShow("به علاقه مندی ها اضافه شد",False)
        
End If
    
End Sub

Sub Button2_Click
    Dim share As Intent
share.Initialize(share.ACTION_SEND,"")
share.SetType("text/plain")
share.PutExtra("android.intent.extra.TEXT",khaterat.parts(1) & CRLF & CRLF & khaterat.parts(0))
share.WrapAsIntentChooser("متن خود را به اشتراک بگذارید...")
StartActivity(share)
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

اموزشش امادس انشاءالله توی فروشگاه قرار داده میشه.

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

اموزشش امادس انشاءالله توی فروشگاه قرار داده میشه.

این که عالیه اما ایشاءالله قیمتشم مناسب باشه   :) 

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

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

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

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

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

دوستان اگه میشه بنده رو راهنمایی بفرمایید واقعا کارم گیره با توجه به کدهای بالا مشکلم اینه که برای اضافه یا حذف از لیست علاقه باتن فقط یه کار رو تو همون لحظه انجام میده یا یک سره با زدن باتن پیام میده که اضافه شد تا اینکه از اکتیویتش بیرون بیای و دوباره بری تو تا با زدن باتن یک سره توس مسج بگه که از علاقه ها حذف کنه و همینجوری ادامه میده واقعا مشکل از کجاست...

مشکل منم هست 

اگر کسی بلده راهنمایی کنه 

با تشکر 

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

دوستان اگه میشه بنده رو راهنمایی بفرمایید واقعا کارم گیره با توجه به کدهای بالا مشکلم اینه که برای اضافه یا حذف از لیست علاقه باتن فقط یه کار رو تو همون لحظه انجام میده یا یک سره با زدن باتن پیام میده که اضافه شد تا اینکه از اکتیویتش بیرون بیای و دوباره بری تو تا با زدن باتن یک سره توس مسج بگه که از علاقه ها حذف کنه و همینجوری ادامه میده واقعا مشکل از کجاست...

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

دوست من این کد ها دقیقا چیکار میکنن؟

    For i = 0 To cursor1.RowCount -1
    cursor1.Position = i
    Next


 sql1.IsInitialized
         cursor1 = sql1.ExecQuery("SELECT * FROM por")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

دوست من این کد ها دقیقا چیکار میکنن؟

    For i = 0 To cursor1.RowCount -1
    cursor1.Position = i
    Next


 sql1.IsInitialized
         cursor1 = sql1.ExecQuery("SELECT * FROM por")

کدهای زیر رو که میدونم اشتباه نوشتم

  For i = 0 To cursor1.RowCount -1
    cursor1.Position = i
    Next

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

 sql1.IsInitialized
         cursor1 = sql1.ExecQuery("SELECT * FROM por")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

به این صورت بنویس ببین جواب میده

  If check = 1 Then
	 
         sql1.ExecNonQuery("UPDATE por SET f = 0 WHERE id = "&khaterat.parts(0))
	check = 0	 
         ToastMessageShow("از علاقه مندی ها حذف شد",False)
		  
     Else 
	 
         sql1.ExecNonQuery("UPDATE por SET f = 1 WHERE id = "&khaterat.parts(0))
		check = 1	
         ToastMessageShow("به علاقه مندی ها اضافه شد",False)
		 
     End If

البته اینم اشتباه هست از لحاظ برنامه نویسی ولی تست کت تا بهت بگم چیکار کنی

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

سلام

من فک کنم برادرمون یکم  جابجا نوشتن

اول باید مقدار fave رو از دیتابیس بگیریم

بریزیم توی check

بعد فکر میکنم بقیه اش ردیفه :)

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

سلام

من فک کنم برادرمون یکم  جابجا نوشتن

اول باید مقدار fave رو از دیتابیس بگیریم

بریزیم توی check

بعد فکر میکنم بقیه اش ردیفه :)

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

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

اگه به کدهای بنده دقت کنین میبینن که مقدار f  رو تو check ریختم اما نمیدونم چرا باتن من  دوتا  کار رو تو همون لحظه انجام نمیده حالا کدهای که دادید رو امتحان میکنم خبرشو میدم 

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

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

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

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

میشه بگید کی چون کار بنده فوری...

یا به بنده کمک کوچکی بکنید ببینم میتونم به نتیجه برسونم.

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

سلام برادرم

ببین

شما اول باید بیای و مقدار fave رو بگیری از بانک

cursor1 = sql1.ExecQuery("SELECT * FROM por")
dim check as int
for i = 0 to cur.rowcount - 1
cur.position = i
check = cur.getint("f")
next

حالا میای و شرطت رو قرار میدی :)

if check = 0 then
sql1.ExecNonQuery("UPDATE por SET f = 1 WHERE id = "&khaterat.parts(0))
else if check = 1 then
sql1.ExecNonQuery("UPDATE por SET f = 0 WHERE id = "&khaterat.parts(0))
end if

حالا دیگه مقدار khaterat رو خودت چک کن درست باشه :gol:

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

بایگانی شده

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

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

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