جستجو در تالار

در حال نمایش نتایج برای برچسب های 'recyclerview'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


تالار ها

  • اخبار سایت
    • قوانین انجمن
    • اخبار و اطلاعیه ها
    • انتقادات و پیشنهادات
  • بیسیک فور اندروید
    • آموزش ها
    • کتابخانه ها
    • سورس کد ها
    • قطعه کد ها
    • سوالات عمومی
    • معرفی برنامه های شما
    • دانلود نسخه های مختلف
  • اندروید استدیو
    • کتابخانه ها
    • سورس کد ها
    • قطعه کد ها
    • سوالات عمومی
    • معرفی برنامه های شما
  • زبان های برنامه نویسی دیگر
    • PHP
  • بخش گرافیک
    • ابزار های طراحی
    • طرح های لایه باز
    • نمونه رابط کاربری (UI)
  • بخش VIP
    • سورس کد ها
    • کتابخانه ها
    • آموزش ها
    • بخش پشتیبانی
  • متفرقه
    • بحث آزاد

دسته ها

  • بیسیک فور اندروید
    • کتابخانه ها
    • سوس کدها
    • نسخه های مختلف b4a

4 نتیجه پیدا شد

  1. فقط برای نسخه ی 7.0 به بالا برای حالت ListView : Sub SmoothScrollToPosition(Position As Int, Factor As Float) Dim Vertical = 1, Horizontal = 0 As Int Dim ReverseLayout = False As Boolean Dim RTL = False As Boolean Dim R As Reflector Dim CustomLinearLayout As JavaObject CustomLinearLayout = CustomLinearLayout.InitializeNewInstance("layout.b4a.view.CustomLinearLayout",Array(R.GetContext,Vertical,ReverseLayout,Factor,RTL)) LV.RecyclerView.RunMethod("setLayoutManager",Array(CustomLinearLayout)) LV.SmoothScrollToPosition(Position) End Sub نحوه استفاده SmoothScrollToPosition(itemList.Size -1, 100) برای حالت GirdView : در مثال قبلی CustomLinearLayout را به CustomGridLayout تغییر بدید بعد از آرگومان R.GetContext ، آرگومان جدیدی به نام spanCount به منظور تعداد ستون های گرید اضافه کنید
  2. سلام خسته نباشید من برای اولین بار میخوام تو یه پروژه از RecyclerView استفاده کنم یه مشکلی دارم که احتمالا از درک اشتباه من از ریساکلر هست ولی خب در نوع خودش چند روز دهن مارو سرویس کرده :)) ببینید ما اطلاعات رو به صورت رشته json از سرور دریافت میکنیم و اون هارو توی دیتابیس insert میکنیم Dim parser As JSONParser parser.Initialize(job.GetString) Dim root As Map = parser.NextObject Dim data As List = root.Get("data") For o = 0 To data.size - 1 Dim currentMassege() = Regex.Split(",",data.Get(o)) As String Dim currentMid = currentMassege(0) As Int Dim currentTitle = currentMassege(1) As String Main.SQL1.ExecNonQuery("INSERT INTO masseges ('mid','title','isdeleted') VALUES ('"& currentMid &"','"& currentTitle &"','"& 0 &"')") Next توی دیتابیس لوکال چند ستون داریم که mid و title و isDeleted هستند و mid ایدی مخصوص هر پیام هست که وقتی روی هر کدوم کلیک شد باید همون id ارسال بشه به سرور تا توضیحات تکمیلی مربوط به اون رو دریافت کنه. خب وقتی توی دیتابیس ذخیره شد میریم سمت نوشتن کد خود لیست ویو ، من خودم از این کد استفاده کردم Sub lv_onCreateViewHolder (Parent As Panel, ViewType As Int) '💎 onCreate 💎' Parent.LoadLayout("formMassegeListItem") Dim Cursor As Cursor Cursor = Main.SQL1.ExecQuery("SELECT * FROM masseges WHERE isdeleted = 0") Cursor.Position = massegeCountRows Dim label As Label = PanelItem.GetView(2) label.Text = Cursor.GetString("title") Log(Cursor.GetInt("mid")) If massegeCountRows = Cursor.RowCount-1 Then massegeCountRows = 0 Else massegeCountRows = massegeCountRows + 1 End If End Sub چون فکر میکنم که مقدار ها همیشه ثابت هست گذاشتم تو onCreate ! حالا اگه اینم اشتباه میکنم بهم تذکر بدید خب این کد به درستی کار میکنه و من همه لیست رو درست دریافت میکنم و کاااااااملا همه چیز خوب و مشتیه ولی مشکل اساسی و اصلی تو رویداد کلیک هست. وقتی میخوایم یه ایتم از لیست کلیک کنیم باید بریم و mid مربوط به اون پیام رو از دیتابیس بخونیم و بفرستیم به سرور و همزمان دیتابیس update بشه و isDeleted برابر یه مقداری غیر از مقدار دیفالت بشه تا دفعه بعدی دیگه تو لیست نشون داده نشه دو مشکل داریم : چطور mid رو از دیتابیس بخونیم ؟ چطور رویداد کلیک رو بنویسیم که قاطی پاتی نشه اطلاعات ! چون اونطور که متوجه شدم ریسایکل میشه لیست و هعی مقدار ها عوض میشه پیشاپیش از پاسختون ممنونم
  3. نحوه ی استفاده از Refresh برای ریسایکلر ویو (نسخه 6+) Sub Globals Dim LV As Hitex_LayoutView Dim RL As Hitex_RefreshLayout End Sub Sub Activity_Create(FirstTime As Boolean) LV.Initializer("LV").ListView.RefreshLayout.ReverseLayout.Build Activity.AddView(LV,0,0,100%x,100%y) RL.Initialize(LV, "RL") RL.Direction = RL.DIRECTION_TOP RL.SchemeColors = Array As Int (Colors.Red, Colors.Black, Colors.Blue) LV.Show End Sub Sub RL_onRefresh (Direction As Int) Select (Direction) Case RL.DIRECTION_TOP: Log("TOP") Case RL.DIRECTION_BOTTOM: Log("BOTTOM") End Select End Sub Sub LV_onCreateViewHolder (Parent As Panel, ViewType As Int) '# onCreate #' Dim lbl As Label: lbl.Initialize("lbl") lbl.TextColor = -2 : lbl.TextSize = 18 Parent.AddView(lbl,0,0,100%x,10%y) End Sub Sub LV_onBindViewHolder (Parent As Panel, Position As Int) '* onBind *' Dim lbl = Parent.GetView(0) As Label lbl.Text = "Hello World ! " & Position End Sub Sub LV_GetItemCount As Int '$ ItemCount $' Return 100 'ItemList.Size End Sub
  4. Sub GetVisibleTop(Index As Int) As Int Dim SIndex = Index As String SIndex = SIndex.SubString(SIndex.Length-1) Dim RealIndex = SIndex As Int Return LV.RecyclerView.RunMethodJO("getChildAt",Array(RealIndex)).RunMethod("getTop",Null) End Sub