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

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


mahdig502

سوال

سلام خدمت اساتید
من چند وقت پیش ی سورس داشتم از پیامک ماه رمضان اقای فرقانی فک کنم بود
خلاصه خودمو پکوندم :wacko1: تا بوکمارک اوردم روش 
الان هم عکس عوض میش هم بوکمارک میش فقط ی مشکل دیگ دارم
الان وقتی روی باتن بوکمارکم کلیک میکنم اکتیویتی دوباره لود میشه و از اول اسکرول ویو نشون میده 
خب میخوام اینجور نشه

این کد اکتیویتی کریت

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




If File.Exists(File.DirInternal,"smslove.db")=False Then
File.copy(File.DirAssets,"smslove.db",File.DirInternal,"smslove.db")
End If


If SQL1.IsInitialized = False Then
SQL1.Initialize(File.DirInternal,"smslove.db",True)
End If


cur1 = SQL1.ExecQuery("SELECT * FROM tbllove")


myfont = Typeface.LoadFromAssets("parastoo.ttf")


For i=0 To cur1.RowCount-1
cur1.Position=i
text= cur1.GetString("smslove")


ScrollView1.Panel.Color = Colors.Transparent 
Dim p1 As Panel
p1.Initialize("")
ScrollView1.Panel.AddView(p1,0,PanelHeight,100%x,100%y)
p1.LoadLayout("sms") 


share.Tag = i
copy.Tag = i
Btnlike.Tag = cur1.Getint("id")
ht=art(text,Label1,myfont,20)
Label1.TextColor=Colors.Black
p1.Height=ht+70dip
PanelHeight=PanelHeight+ht+70dip


Dim check As Int
    check = cur1.Getint("fav") 
If check=0 Then
Btnlike.SetBackgroundImage(LoadBitmap(File.DirAssets,"noheart.png"))
    Else If check=1 Then
Btnlike.SetBackgroundImage(LoadBitmap(File.DirAssets,"heart.png"))
    End If
Next
ScrollView1.Panel.Height=PanelHeight




End Sub

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

Sub Btnlike_Click
Dim btm As BitmapDrawable
Dim btn2 As Button
    Dim pi As Float
btn2=Sender


Dim sqlnew As SQL
Dim curnew As Cursor


If sqlnew.IsInitialized = False Then
sqlnew.Initialize(File.DirInternal,"smslove.db",True)
End If


curnew = sqlnew.ExecQuery("SELECT * FROM tbllove where id ="&btn2.Tag)
curnew.Position = 0


Dim check As Int
    check = curnew.Getint("fav")    




If check = 0 Then
sqlnew.ExecNonQuery("UPDATE tbllove SET fav = 1 WHERE id = "&btn2.Tag)
ToastMessageShow("به علاقه مندی ها اضافه شد",False) 
btm.Initialize(LoadBitmap(File.DirAssets,"heart.png"))
Btnlike.Background=btm
ScrollView1.Panel.RemoveAllViews
PanelHeight = ScrollView1.Height - ScrollView1.Height
ScrollView1.ScrollPosition = PanelHeight
    Activity_Create(True)


Else If check = 1 Then
sqlnew.ExecNonQuery("UPDATE tbllove SET fav = 0 WHERE id = "&btn2.Tag)
ToastMessageShow("از علاقه مندی ها حذف شد",False)
    btm.Initialize(LoadBitmap(File.DirAssets,"noheart.png"))
Btnlike.Background=btm
ScrollView1.Panel.RemoveAllViews
PanelHeight = ScrollView1.Height - ScrollView1.Height
ScrollView1.ScrollPosition = PanelHeight
Activity_Create(True)
End If
End Sub

اینم خود برنامه 
http://s7.picofile.com/file/8257827650/sms2.apk.html
اگ مشکلا متوجه نشدید  عاشقانه ها را کلیک کنید و بیایید وسط صفحه و یکی از پیام هارا لایک کنید 
میبینید ک میره اول صقحه 

لطفا جواب بدید ک بدجور تو امپاسم :sorry:  :give_rose:

 

 

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

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

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

یه اشکال ریز وجود داره تو کارت :malih:

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

Btnlike.Background=btm

شما مگه btn2 رو مساوی sender نذاشتین؟

پس باید بک گراند btn2 رو عوض کنین نه Btnlike به شکل زیر میشه

btn2.Background=btm 

البته کدهایی که گفتم هم حذف کنین مشکل تون حل میشه حتما

موفق باشید

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

مشخصه دوست عزیز 

وقتی شما کد زیر رو اجرا میکنید

Activity_Create(True)

مثل این میمونه که تازه وارد اکتیویتی شدین و کدهایی که قبلش نوشتین واسه رفتن به پوزیشن مورد نظر بیهوده اس باید بعداز این بنویسید یه چیزی شبیه این

ScrollView1.Panel.RemoveAllViews
 Activity_Create(True)
PanelHeight = ScrollView1.Height - ScrollView1.Height
ScrollView1.ScrollPosition = PanelHeight
   

بعدشم یه چیز دیگه  :fekr:  :fekr:  این کد زیر چیه؟؟؟

PanelHeight = ScrollView1.Height - ScrollView1.Height

صفر میشه که ارتفاع پنلت

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

این دستور نشد متاسفانه

ScrollView1.Panel.RemoveAllViews
Activity_Create(True)
PanelHeight = ScrollView1.Height - ScrollView1.Height
ScrollView1.ScrollPosition = PanelHeight

دوست عزیز من  مجبورم از کد (Activity_Create(True استفاده کنم وگرنه عکس بوکمارک عوض نمیش

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

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

شما فقط میخواین لیست علاقه مندی درست کنین دیگه؟؟

اگه جواب آره هست اصلا نیازی نیست اکتویتی کریت رو اجرا کنین 

این کدها اصلا نیاز نیستن

ScrollView1.Panel.RemoveAllViews
Activity_Create(True)
PanelHeight = ScrollView1.Height - ScrollView1.Height
ScrollView1.ScrollPosition = PanelHeight

شما وقتی رو علاقه مندی کلیک کنین عکس عوض میشه و تو همون پوزیشن هم میمونه

 

 

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

http://answercenter.ir/topic/13822-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%DA%A9%D8%A7%D9%85%D9%84-%D9%84%DB%8C%D8%B3%D8%AA-%D8%B9%D9%84%D8%A7%D9%82%D9%87-%D9%85%D9%86%D8%AF%DB%8C-%D8%A8%D8%A7-%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87-msh-fave/

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

دقیقا باید همین اتفاق بیفته ولی نمیش 
اگ این کد ها نباشن باید یکبار برگردم ب اکتیویتی قبلی و دوباره وارد بشم تا عکس عوض شده باش
اینم سرس برنامه اگ میخوایید مطمعن بشید 
http://s7.picofile.com/file/8257863784/smss.rar.html

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

بایگانی شده

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

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

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