رفتن به مطلب

Mthzf1384

کاربر عادی
  • تعداد ارسال ها

    122
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    10

پست ها ارسال شده توسط Mthzf1384

  1. در هم اکنون، Soheil_Miresmaili گفته است :

    سلام سلام :DD:

    اول از همه خواهشندم این ارسال رو خالی نزارین هم حرفه ای ها و هم تازه کارا جواب بدن :ok::53:

    همگی از اولین و آخرین برنامه یا بازیی که با B4X ساختین ی عکس بزارین ( یا توضیح بدین درموردش ) تا هم میزان پیشرفتتون مشخص بشه و هم برای تازه کارایی مثل من الگو بشه :greeting:

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

    قول میدم به همشون نظر پنج ستاره به بدم :eynak:

    ( زایم نکنید خواهشا حداقل دو سه نفر ریپلی بزنن روم :scare3: )

    سلام

    من همانطور که گفتم خیلی برنامه ای گسترش ندادم اما یه برنامه کتابی از قبل داشتم که آپدیت ساختم براش و طراحی و مشکلاتش رو برطرف کردم

    مشکل برنامه را خودم هم میگم تنها مشکلش اینه که به دلیل اینکه آنلاین نیست بعضی امکاناتش به درستی کار نمیکنه و اینکه چون پرداخت درون برنامه ای داره بعضی کاربرا ستاره کم دادن :(

    نکات طلایی زیست  

    موفق باشید :53:

    • پسندیدن 3
  2. در 2 ساعت قبل، Mr.Kafiri گفته است :

    سلام و درود..

     

    اقای شاهپیری توی رویداد کلیک OnItemClick چجوری میشه با viewclicked کار کرد من هر کار میکنم خطا میده

    -

    
    Sub PR_onBindViewHolder(layoutitem As Object,position As Int,viewtype As Int)
    	Dim pg1 As Panel  =layoutitem
    	pg1.Width = 48%X
    	pg1.Height = 140dip
    	.
    	.
    	.
    	pg1.Tag = dt.id
    End Sub
    
    Sub PR_onCreateViewHolder(layoutitem As Object,viewtype As Int) As Object
    	Dim p As Panel = layoutitem
    	Dim pp As Panel
    	pp.Initialize("")
    	pp.LoadLayout("form_pr")	
    	p.AddView(pp,0%X,0,45%X,120dip)	
    	Return Null
    End Sub
    
    Sub PR_getItemCount As Int
    	Return lData.Size
    End Sub
    
    Sub PR_OnItemClick(ItemTag As Object,viewclicked As Object,position As Int)
    	dim p as panel = viewclicked
    	dim p2 as panel = p.getView(0)
    	dim img as ImageView  = p2.GetView(0)
    	.
    	.
    	.
    
    
    
    End Sub

    الان این کد های من اشتباس؟

    من یه امیج ویو دارم که میخوام وقتی روی اون کلیک شد عکسش عوض بشه، مثل اینکه نمیدونم viewclicked کار نمیکنه یا یجایی من اشتباه رفتم

     

    سلام 

    من چند وقت پیش با کتابخونه آقای شاهپیری کار میکردم منم همین مشکل رو داشتم (فکر میکنم مشکل توی لود کردن لیوته وقتی لیوت لود کنی دیگه نمیتونی به اون صورت ویو رو بگیری و روش کار انجام بدی)

    در هر صورت من اومدم دستی ویو ها رو اضافه کردم و درست شد شما هم یک امتحانی بکن

    • پسندیدن 1
  3. در در 29 شهریور 1399 در 08:20، محمدرضا شاهپیری گفته است :

    خب این که ساده اس. وقتی دارین اسکرول میکنید متد onBindViewHolder اجرا میشه که همون سطر مورد نظر هست. تو این متد پوزیشن رو توی حافظه ذخیره کنید.توی ورود بعدی از دستور     (PrRecyclerLayout.smoothscrollToPosition(position استفاده کنید

    خیلی ممنون :53::53::53::53:

  4. در 53 دقیقه قبل، Mthzf1384 گفته است :

    سلام آقای شاهپیری عزیز 

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

    من آموزش هاتون رو نگاه کردم ولی داخل آموزش ها کلیک بر روی یک آیتم بوده مثل اینکه به جای لیست ویو از ریسایکلر ویو استفاده شده باشه

    screenshot-2020-08-25_04_04_11_834.png.62d26e7e85ba01c48ff78b8fcf17d7d4.png

    شما به عکس توجه کنید این برنامه ی منه

    حالا من میخوام مثلا روی دکمه ی قلبه کلیک کنم باید چه کار کنم که ساب مربوط به خودش فراخوانی بشه؟

    این OnItemClick من حتی اگر روی نوشته هم کلیک کنم ساب فراخوانی میشه ولی من میخوام هر دکمه یه کار خاصی انجام بده با دستور ایف هم هر چی فکر کردم نفهمیدم چجوری بزارم

    در هر صورت ممنون از کتابخانه ی خوبتون و پاسخگوییتون :53::53::53::53::53:

    ممنون مشکل حل شد

    • پسندیدن 1
  5. در 3 ساعت قبل، محمدرضا شاهپیری گفته است :

    سلام. عزیز برای کلیک روی آیتمهای ریسایکلر باید ایونت زیر رو اضافه کنید به پروژه. اینها همه تو اموزشها گفته شده. لطفا اول داکیومنت و آموزشها رو ببینید بعد توی پروژه از ریسایکلر استفاده کنید

    
    Private Sub EventName_OnItemClick(ItemTag As Object,viewclicked As Object,position As Int)
    	
    End Sub

     

    سلام آقای شاهپیری عزیز 

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

    من آموزش هاتون رو نگاه کردم ولی داخل آموزش ها کلیک بر روی یک آیتم بوده مثل اینکه به جای لیست ویو از ریسایکلر ویو استفاده شده باشه

    screenshot-2020-08-25_04_04_11_834.png.62d26e7e85ba01c48ff78b8fcf17d7d4.png

    شما به عکس توجه کنید این برنامه ی منه

    حالا من میخوام مثلا روی دکمه ی قلبه کلیک کنم باید چه کار کنم که ساب مربوط به خودش فراخوانی بشه؟

    این OnItemClick من حتی اگر روی نوشته هم کلیک کنم ساب فراخوانی میشه ولی من میخوام هر دکمه یه کار خاصی انجام بده با دستور ایف هم هر چی فکر کردم نفهمیدم چجوری بزارم

    در هر صورت ممنون از کتابخانه ی خوبتون و پاسخگوییتون :53::53::53::53::53:

  6. سلام به همه اساتید  و دوستان

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

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

    من دو تا سوال دارم:

    1. اگر بخوام روی یکی از این دکمه ها کلیک کنم آیا باید از رویداد کلیک دکمه استفاده کنم؟(من اومدم از این طریق رفتم ولی اصلا وقتی روی دکمه کلیک می کنم رویداد کلیک دکمه فراخوانی نمیشه و اصلا کد های این رو نمیخونه)
    2. اگر جوابتون به سوال اولم نه هست پس من چجوری باید کد های مربوط به کلیک روی دکمه رو بنویسم منظورم اینه که کجا؟

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

     

  7. سلام

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

    Sub Process_Globals
    	Dim sql As SQL
    End Sub
    
    Sub Globals
    	Type mymodel(Text As String)
    	Dim l As List
    	Dim pr As PersianRecyclerLayout
    	Dim su As StringUtils
    	Dim cur As Cursor
    	Private lblpyamaktext As Label
    	Private lbltitr As Label
    End Sub
    
    Sub Activity_Create(FirstTime As Boolean)
    	Activity.LoadLayout("Layout")
    	If(File.Exists(File.DirInternal , "book10v(2.0.2)") = False)Then
    		File.Copy(File.DirAssets , "book10v(2.0.2).db" , File.DirInternal , "book10v(2.0.2).db")
    	End If
    	
    	sql.Initialize(File.DirInternal , "book10v(2.0.2).db" , True)	
    	
    	l.Initialize	
    	gettext
    	
    	pr.Builder("pr").NormalRecycler.BALayout.ListView.RecyclerView.Build
    	Activity.AddView(pr , 0 , 0 , 100%X , 100%Y)
    	pr.ShowRecycler
    	
    End Sub
    
    Sub Activity_Resume
    
    End Sub
    
    Sub Activity_Pause (UserClosed As Boolean)
    
    End Sub
    
    Sub pr_getItemCount As Int
    	Return l.Size
    		
    End Sub
    
    Sub pr_onCreateViewHolder(layoutitem As Object,viewtype As Int) As Object
    	Dim mainpanel As Panel = layoutitem
    	mainpanel.LoadLayout("l")
    	Return Null
    End Sub
    
    Sub pr_onBindViewHolder(layoutitem As Object,position As Int,viewtype As Int) As Object
    	Dim mainpanel As Panel = layoutitem
    	mainpanel.Width = 100%X
    	mainpanel.Height = 200dip
    	Dim model As mymodel 
    	model.Initialize
    	model.Text = l.Get(position)
    	lblpyamaktext.Text = model.Text
    	lblpyamaktext.TextColor = Colors.Black
    	lblpyamaktext.Height = su.MeasureMultilineTextHeight(lblpyamaktext , lblpyamaktext.Text)
    	Log(position)
    	Log(model.Text)
    	Return mainpanel
    End Sub
    
    Private Sub gettext
    	cur= sql.ExecQuery("SELECT * FROM TblText WHERE IDzFasl = 2 AND IDzGoftar = 1 AND IDzBakhsh = 1")
    	For i = 0 To cur.RowCount - 1
    		cur.Position = i
    		l.Add(cur.GetString("Text"))
    	Next	

    این هم کد هام هستش

      یه چیزی هم که فهمیدم این بود که متن ها رو تا آیتم 6 درست لود می کنه و آیتم 7 رو هم وقتی اسکرول می کنم درست نشون میده اما وقتی که اسکرول می کنم میام رو آیتم 8 به جای اینکه متن آیتم 8 رو عوض کنه میاد متن آیتم 7 رو پاک میکنه و متن آیتم هشت رو داخلش میریزه و آیتم 8 هم انگار اینکه آیتم 1 رو از بالا گرفته باشن آورده باشنش پایین

    خیلی ممنون میشم راهنمایی  کنید :53::53::53::53::53: 

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

  8. در 14 ساعت قبل، محمدرضا شاهپیری گفته است :

    آموزشهای لازم داده شده دوست عزیز. آموزش زیر رو حتما ببینید

    ***بسیار مهم**آموزش مفاهیم و ساختار ریسایکلر ویو و متدهای اصلی اضافه شد. لینک آموزش*****

    خیلی ممنون از پاسخگوییتون:53::53::53::53::53:

  9. در 12 دقیقه قبل، محمدرضا شاهپیری گفته است :

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

    ببخشید من خیلی مبتدیم اگر میشه این قسمت رو برام بیشتر توضیح بدید و اگر میشه مثال هم برام بزنید:53::53::53::53::53::53::53:

  10. در هم اکنون، محمدرضا شاهپیری گفته است :

    سلام خدمت شما دوست گرامی.

    متاسفانه کدنویسیتون خیلی غیر استاندارده. و مشخصا شما مفاهیم ریسایکلر ویو رو مسلط نشدین. شما توی onCreateViewHolder دارین sql.ExecQuery رو صدا میزنین که واقعا فاجعه اس.

    شما حتما باد یک مدل برای دیتاهاتون داشته باشین و حتما باید یک بار دیتا رو از دیتابیس بخونین و توی لیست بریزین و دیتا رو از لیست بخونین نه اینکه بیاین مستقیم توی تکرارهای ریسایکلر از Cursor بخونین. حتما آموزش مقدماتی رو ببینین توی آموزش نحوه مدلسازی و ریختن اطلاعات توی لیست گفته شده

    خیلی ممنون

  11. سلام

    من از کتابخانه خوبتون استفاده میکنم. فقط الان یه مشکل برام پیش اومده اونم اینه که متن هایی رو که میخوام به ترتیب لود کنه رو به ترتیب لود نمی کنه :(

    Sub Process_Globals
    	'These global variables will be declared once when the application starts.
    	'These variables can be accessed from all modules.
    	Dim sql As SQL
    End Sub
    
    Sub Globals
    	Dim pr As PersianRecyclerLayout
    	Dim su As StringUtils
    	Dim cur As Cursor
    	Private lblpyamaktext As Label
    	Private lbltitr As Label
    End Sub
    
    Sub Activity_Create(FirstTime As Boolean)
    	Activity.LoadLayout("Layout")
    	If(File.Exists(File.DirInternal , "book10v(2.0.2)") = False)Then
    		File.Copy(File.DirAssets , "book10v(2.0.2).db" , File.DirInternal , "book10v(2.0.2).db")
    	End If
    	
    	
    	
    	sql.Initialize(File.DirInternal , "book10v(2.0.2).db" , True)
    	
    	cur= sql.ExecQuery("SELECT * FROM TblText WHERE IDzFasl = 2 AND IDzGoftar = 1 AND IDzBakhsh = 1")
    	
    	pr.Builder("pr").NormalRecycler.BALayout.ListView.RecyclerView.Build
    	Activity.AddView(pr , 0 , 0 , 100%X , 100%Y)
    	pr.ShowRecycler
    
    	
    End Sub
    
    Sub Activity_Resume
    
    End Sub
    
    Sub Activity_Pause (UserClosed As Boolean)
    
    End Sub
    
    Sub pr_getItemCount As Int
    	Return cur.RowCount
    		
    End Sub
    
    Sub pr_onCreateViewHolder(layoutitem As Object,viewtype As Int) As Object
    	Dim mainpanel As Panel = layoutitem
    	mainpanel.LoadLayout("l")
    	cur= sql.ExecQuery("SELECT * FROM TblText WHERE IDzFasl = 2 AND IDzGoftar = 1 AND IDzBakhsh = 1")
    	Return Null
    End Sub
    
    Sub pr_onBindViewHolder(layoutitem As Object,position As Int,viewtype As Int) As Object
    	Dim mainpanel As Panel = layoutitem
    	mainpanel.Width = 100%X
    	mainpanel.Height = 50%Y
    	cur.Position = position
    	lblpyamaktext.Text = cur.GetString("Text")
    	lblpyamaktext.TextColor = Colors.Black
    	lblpyamaktext.Height = su.MeasureMultilineTextHeight(lblpyamaktext , lblpyamaktext.Text)
    	Log(position)
    	Log(cur.GetString("Text"))
    	Return mainpanel
    End Sub
    
    Sub pr_OnItemClick(ItemTag As Object,viewclicked As Object,position As Int)
    	Log(ItemTag)
    	
    End Sub

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

    ممنون میشم راهنمایی کنید:53::53::53::53::53:

×
×
  • اضافه کردن...