siroos12 14 ارسال شده در 12 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 12 مهر، ۱۳۹۹ سلام دوستان و اساتید من از کتابخونه ریساکلر ویو استفاده میکنم میخام اگه کاربر از برنامه خارج شد آخرین اسکرولی که دیده رو بعد اینکه دوباره اومد داخل برنامه انجام بشه. میشه راهنمایی کنید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
montazeranmahdi 101 ارسال شده در 16 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 16 مهر، ۱۳۹۹ در 6 ساعت قبل، siroos12 گفته است : داداش من میزارم رو باتن کار انجام میشه ولی تو اکتیویتی کریت نه ی تایمر درست کردم گزاشتمش تو تایمر بجاش حالا چطور بهش بگم اگه رو اولین یا آخرین بود اسکرول اولین اسکرول رو نمایش بده؟ تازه مرتب نشون نمیده! مثلا رو آیتم دوم خارج میشم میره رو پنجمی وقتی وارد شدم بله خودمم تست کردم تو اکتیویتی کریت انجام نشد ، سوالتون رو واضح تر بفرمایید ، صورتی که من متوجه شدم این بود که با حرکت دادن آیتم ها به بالا و پایین اگر وقتی روی آخرین آیتم یا اولین آیتم رفتیم یه اتفاقی بیفته که بصورت زیر هست : کدهای زیر رو توی LV_onBindViewHolder بنویسید اگر ریسایکلر به آخرین آیتم رفت : If (Position+1=lv.ItemCount) Then msgbox("به آخرین آیتم رسیدیم","") End If اگر ریسایکلر به ابتدا یا همون اولین آیتم اومد : If (Position+1=1) Then msgbox("به ابتدای آیتم ها رسیدیم","") End If دستورات زیر رو هم میتونید در مکان دلخواه قرار بدید : برای حرکت به آخرین آیتم : lv.SmoothScrollToPosition(lv.ItemCount) برای حرکت به اولین آیتم : lv.SmoothScrollToPosition(0) بابت اون مرتب نبودن(البته فکر کنم منظورتون درست نشون ندادن هست) ، کدی که توی onbindviewholder نوشتید رو صورت زیر تغییر بدید : Sub LV_onBindViewHolder (Parent As Panel, Position As Int) IF (position+1= lv.itemcount) then makanscroll=Position End IF (position+1=0) then makanscroll=Position End IF (position>2) then makanscroll=Position-2 End IF End Sub موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
siroos12 14 ارسال شده در 16 مهر، ۱۳۹۹ سازنده اشتراک گذاری ارسال شده در 16 مهر، ۱۳۹۹ در 2 ساعت قبل، YareGomnam گفته است : IF (position+1= lv.itemcount) then makanscroll=Position End IF (position+1=0) then makanscroll=Position End IF (position>2) then makanscroll=Position-2 End IF من کاری که گفتید رو انجام دادم ولی بدتر شد اینم عکسش: اگه هم مثل قبل بزارم این میشه: ی نکته داره که وقتی لاگ میگیرم از دومی همه چیز درسته ولی وقتی سیو میکنم تو فایل اعداد خراب میشن مثلا ایتم دومی سیو کردم سومی رو سیو میکنه نمیدونم چشه آخه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
montazeranmahdi 101 ارسال شده در 17 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 17 مهر، ۱۳۹۹ احساس میکنم 7 تا آیه سوره حمد رو داری تو ریسایکلر قرار میدی درسته ؟ یه سوره ای رو روش کار کن آیه بیشتری داشته باشه برای تست مثل سوره مائده که آیه هاش زیاد زیادم نباشه یکم اون خط آخر رو دست کاری کن عددشو تنظیم کن مثلا من -2 دادم تو بکنش -1 یا اصلا ورش دار ، امتحان کن ان شاءالله درست بشه ، باز اگر اساتید لطف کنند این عزیز دل رو کمک کنند ممنونم میشم . لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Mthzf1384 123 ارسال شده در 14 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 14 مهر، ۱۳۹۹ در در 12 مهر 1399 در 14:27، siroos12 گفته است : متوجه نشدم اصلا mydb1 از چه نوعیه؟ سورسی ندارید در این باره؟ سلام mydb یک کلاس ماژول هست که داخلش اطلاعات دیتابیس رو به روز میکنم شما به کاری که من کردم نداشته باشید شما فقط باید مقدار ID رو در دیتابیس ذخیره کنید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Mthzf1384 123 ارسال شده در 12 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 12 مهر، ۱۳۹۹ در 22 ساعت قبل، siroos12 گفته است : سلام دوستان و اساتید من از کتابخونه ریساکلر ویو استفاده میکنم میخام اگه کاربر از برنامه خارج شد آخرین اسکرولی که دیده رو بعد اینکه دوباره اومد داخل برنامه انجام بشه. میشه راهنمایی کنید سلام دوست عزیز برای این کار شما باید در متد onBindViewHolder آخرین پازیشنی که کاربر دیده رو در دیتابیس ذخیره کنید من خودم اومدم این کار رو انجام دادم: If(position + 1 = lText.Size)Then mydb1.UpdateAkharin(2 , position) Else if(position = 0)Then mydb1.UpdateAkharin(2 , position) else if(position > 2)Then mydb1.UpdateAkharin(2 , position - 2) End If ltext.size در واقع تعداد آیتم های من بود و یعنی اگر ریسایکلر روی آخرین آیتم و اولین آیتم بود بیا پازیشن خودش رو ذخیره کن و اگر از آیتم 3 به بعد بود بیا سه تا قبل رو ذخیره کن چون در متد onBindViewHolder میاد تا دو تا بعد رو هم میسازه من اینا رو امتحانی بدست آوردم شما هم امتحان کنید ببینید کدوم به دردتون میخوره لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
montazeranmahdi 101 ارسال شده در 15 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در در 12 مهر 1399 در 00:05، siroos12 گفته است : سلام دوستان و اساتید من از کتابخونه ریساکلر ویو استفاده میکنم میخام اگه کاربر از برنامه خارج شد آخرین اسکرولی که دیده رو بعد اینکه دوباره اومد داخل برنامه انجام بشه. میشه راهنمایی کنید سلام ، در متد onBindViewHolder با استفاده از writestring آخرین پوزیشن رو در dirinternal ذخیره کن بعد با شروع مجدد اکتیویتی با readstring اون مقدار رو فراخوانی کن بعد با متد smoothscrolltoposition به پوزیشن ذخیره شده حرکت کن . اگر نیاز به کمک بیشتر بود بفرمایید کد بنویسم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
siroos12 14 ارسال شده در 15 مهر، ۱۳۹۹ سازنده اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 2 دقیقه قبل، YareGomnam گفته است : سلام ، در متد onBindViewHolder با استفاده از writestring آخرین پوزیشن رو در dirinteral ذخیره کن بعد با شروع مجدد اکتیویتی با readstring اون مقدار رو فراخوانی کن بعد با متد smoothscrolltoposition به پوزیشن ذخیره شده حرکت کن . اگر نیاز به کمک بیشتر بود بفرمایید کد بنویسم کدشو بنویسید که بفهمم بی زحمت لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
montazeranmahdi 101 ارسال شده در 15 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 1 دقیقه قبل، siroos12 گفته است : کدشو بنویسید که بفهمم بی زحمت در انتهای کدهای بخش onBindViewHolder کد زیر رو بنویسید به این شکل : Sub LV_onBindViewHolder (Parent As Panel, Position As Int) 'بعد از اینکه کدهای مورد نظر رو اینجا نوشتید خط زیر رو اضافه میکنید dim makan as int = position File.WriteString(File.DirInternal,"makan.txt",makan) End Sub تا اینجا ریسایکلر رو هر چی بالا پایین کنید مکانش ذخیره میشه ،: حالا باید کدی بنویسیم که با شروع برنامه ریسایکر به آخرین مکانی که ذخیره شده بره برای همین باید کدمون رو توی Activity_Create بنویسیم ، به این شکل عمل میکنیم : lv همون ریسایکلر ویو ماست Sub Activity_Create(FirstTime As Boolean) lv.show dim makan as int = File.ReadString(File.DirInternal,"makan.txt") lv.SmoothScrollToPosition(makan) End Sub اگر سوالی بود بفرمایید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
siroos12 14 ارسال شده در 15 مهر، ۱۳۹۹ سازنده اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 7 دقیقه قبل، YareGomnam گفته است : dim makan as int = File.ReadString(File.DirInternal,"makan.txt") چیزی که گفتید نوشتم فورش کلوز میده این قسمت لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
montazeranmahdi 101 ارسال شده در 15 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 3 دقیقه قبل، siroos12 گفته است : چیزی که گفتید نوشتم فورش کلوز میده این قسمت If File.Exists(File.DirInternal,"makan.txt") = True Then Dim makan as int = File.ReadString(File.DirInternal,"makan.txt") lv.SmoothScrollToPosition(makan) End If اون دو خط رو تو این شرط قرار بدید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
siroos12 14 ارسال شده در 15 مهر، ۱۳۹۹ سازنده اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 2 دقیقه قبل، YareGomnam گفته است : If File.Exists(File.DirInternal,"makan.txt") = True Then Dim makan as int = File.ReadString(File.DirInternal,"makan.txt") End If این خط رو تو این شرط قرار بدید انجام نمیشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
montazeranmahdi 101 ارسال شده در 15 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 1 دقیقه قبل، siroos12 گفته است : انجام نمیشه بزرگوار ، خط زیر رو هم تو اون شرط اضافه کنید lv.SmoothScrollToPosition(makan) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
siroos12 14 ارسال شده در 15 مهر، ۱۳۹۹ سازنده اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 2 دقیقه قبل، YareGomnam گفته است : بزرگوار ، خط زیر رو هم تو اون شرط اضافه کنید lv.SmoothScrollToPosition(makan) انجام نمیشه! لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
montazeranmahdi 101 ارسال شده در 15 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ کدایی که نوشتید رو بذارید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
siroos12 14 ارسال شده در 15 مهر، ۱۳۹۹ سازنده اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 1 دقیقه قبل، YareGomnam گفته است : کدایی که نوشتید رو بذارید Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout") Lv.Initializer("LV").ListView.Build Activity.AddView(Lv, 3%x, 20%y, 94%x, 72%y) File.Copy(File.DirAssets, "hamd.db",File.DirInternal, "hamd.db") Sql.Initialize(File.DirInternal, "hamd.db",False) Cr1 = Sql.ExecQuery("Select * From mtn") Cr2 = Sql.ExecQuery("Select * From scroll") If File.Exists(File.DirInternal, "0.mp3") = False Then File.Copy(File.DirAssets, "0.mp3", File.DirInternal,"0.mp3") End If mp.Initialize2("MP") mp.Load(File.DirInternal,"0.mp3") Lv.Show Timer.Initialize("Timer",1000) Timer.Enabled=True Activity.AddMenuItem("about", "about") If File.Exists(File.DirInternal,"makan.txt") = True Then Dim makan As Int = File.ReadString(File.DirInternal,"makan.txt") End If Lv.SmoothScrollToPosition(makan) End Sub Sub Lv_onBindViewHolder (Parent As Panel, Position As Int) Dim Panel As Panel = Parent.GetView(0) Dim Label1 As Label = Panel.GetView(0) Dim Label2 As Label = Panel.GetView(1) Cr1.Position = Position Label1.Text = Cr1.GetString("arabi") Label1.TextSize = SizeArabic Label2.Text = Cr1.GetString("farsi") Label2.TextSize = SizeFarsi Label1.Typeface=Typeface.LoadFromAssets("QuranTaha.ttf") Label2.Typeface=Typeface.LoadFromAssets("IranNastaliq_0.ttf") Label1.Height = Utils.GetTextHeight(Label1) Label2.Height = Utils.GetTextHeight(Label2) Label2.Top = Label1.Height + 3%y If B = True Then Panel.Height = Label1.Height + Label2.Height + 5%y Else If B = False Then Panel.Height = Label1.Height + 3%y End If Parent.Height = Panel.Height + 2%y Dim makan As Int = Position Position=Cr2.Position File.WriteString(File.DirInternal,"makan.txt",makan) End Sub لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
montazeranmahdi 101 ارسال شده در 15 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 2 دقیقه قبل، siroos12 گفته است : Sub Activity_Create(FirstTime As Boolean) If File.Exists(File.DirInternal,"makan.txt") = True Then Dim makan As Int = File.ReadString(File.DirInternal,"makan.txt") End If Lv.SmoothScrollToPosition(makan) End Sub Sub Lv_onBindViewHolder (Parent As Panel, Position As Int) Dim makan As Int = Position Position=Cr2.Position File.WriteString(File.DirInternal,"makan.txt",makan) End Sub Lv.SmoothScrollToPosition(makan) رو زیر end if قرار دادید ، درحالی که باید توی شرط باشه ضمنا خط زیر رو حدف کنید : Position=Cr2.Position لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
siroos12 14 ارسال شده در 15 مهر، ۱۳۹۹ سازنده اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 4 دقیقه قبل، YareGomnam گفته است : در 8 دقیقه قبل، siroos12 گفته است : Lv.SmoothScrollToPosition(makan) رو زیر end if قرار دادید ، درحالی که باید توی شرط باشه ضمنا خط زیر رو حدف کنید : Position=Cr2.Position انجام دادم اسکرول نمیکنه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
montazeranmahdi 101 ارسال شده در 15 مهر، ۱۳۹۹ اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 1 دقیقه قبل، siroos12 گفته است : انجام دادم اسکرول نمیکنه ببخشید یه جای کار اشتباه کردم توی گلوبال یه متغیر تعریف کنید به این شکل : dim makanscroll as int کد هایی که توی onbindviewholder نوشتیم رو به اینصورت تغییر بدید و اضافه رو پاک کنید : Sub LV_onBindViewHolder (Parent As Panel, Position As Int) makanscroll=makan End Sub بعد توی کلیک خروج از برنامه این کد رو بنویسید : Sub Activity_KeyPress (KeyCode As Int) As Boolean If KeyCode = KeyCodes.KEYCODE_BACK Then File.WriteString(File.DirInternal,"makan.txt",makanscroll) End If End Sub توی اکتیویتی کریت هم به همون شکل قبل لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
siroos12 14 ارسال شده در 15 مهر، ۱۳۹۹ سازنده اشتراک گذاری ارسال شده در 15 مهر، ۱۳۹۹ در 5 دقیقه قبل، YareGomnam گفته است : ببخشید یه جای کار اشتباه کردم توی گلوبال یه متغیر تعریف کنید به این شکل : dim makanscroll as int کد هایی که توی onbindviewholder نوشتیم رو به اینصورت تغییر بدید و اضافه رو پاک کنید : Sub LV_onBindViewHolder (Parent As Panel, Position As Int) makanscroll=makan End Sub بعد توی کلیک خروج از برنامه این کد رو بنویسید : Sub Activity_KeyPress (KeyCode As Int) As Boolean If KeyCode = KeyCodes.KEYCODE_BACK Then File.WriteString(File.DirInternal,"makan.txt",makanscroll) End If End Sub توی اکتیویتی کریت هم به همون شکل قبل باور کنید نشد لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
siroos12 14 ارسال شده در 13 مهر، ۱۳۹۹ سازنده اشتراک گذاری ارسال شده در 13 مهر، ۱۳۹۹ در 12 ساعت قبل، Mthzf1384 گفته است : سلام دوست عزیز برای این کار شما باید در متد onBindViewHolder آخرین پازیشنی که کاربر دیده رو در دیتابیس ذخیره کنید من خودم اومدم این کار رو انجام دادم: If(position + 1 = lText.Size)Then mydb1.UpdateAkharin(2 , position) Else if(position = 0)Then mydb1.UpdateAkharin(2 , position) else if(position > 2)Then mydb1.UpdateAkharin(2 , position - 2) End If ltext.size در واقع تعداد آیتم های من بود و یعنی اگر ریسایکلر روی آخرین آیتم و اولین آیتم بود بیا پازیشن خودش رو ذخیره کن و اگر از آیتم 3 به بعد بود بیا سه تا قبل رو ذخیره کن چون در متد onBindViewHolder میاد تا دو تا بعد رو هم میسازه من اینا رو امتحانی بدست آوردم شما هم امتحان کنید ببینید کدوم به دردتون میخوره متوجه نشدم اصلا mydb1 از چه نوعیه؟ سورسی ندارید در این باره؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
siroos12 14
سلام دوستان و اساتید
من از کتابخونه ریساکلر ویو استفاده میکنم میخام اگه کاربر از برنامه خارج شد آخرین اسکرولی که دیده رو بعد اینکه دوباره اومد داخل برنامه انجام بشه.
میشه راهنمایی کنید
لینک ارسال
به اشتراک گذاری در سایت های دیگر
22 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.