iOS Question Converting B4a to B4i with Listview

Discussion in 'iOS Questions' started by DeclanOK, Oct 13, 2019.

  1. DeclanOK

    DeclanOK New Member Licensed User

    I am converting a successful B4A app to B4i. I am trying to use TableView and then as I couldn't I started looking at CustomListView. I simply want to show a list and click on it and read the value

    What method do I use to get the clicked on a row in the table

    Here is my B4A code. I have spent the weekend going through docs and am no smarter

    Any recommendations very useful
    --------------------------------------------------------------------------------------------------------
    Code:
    Sub Globals
     
    'These global variables will be redeclared each time the activity is created.
     'These variables can only be accessed from this module.
     
     
    Private SubjectList As ListView
     
    End Sub
    Sub Activity_Create(FirstTime As Boolean)
     
    'Do not forget to load the layout file created with the visual designer. For example:
       If File.Exists(File.DirInternal, "Index.db") = False Then
           
       
    File.Copy(File.DirAssets, "Index.db"File.DirInternal, "Index.db")
     
       
    End If ' goes with above just did this To ensure always loads new database
     
     
     
    Activity.Color = Colors.Black
     
    Activity.TitleColor= Colors.White
     
    Activity.LoadLayout("StartUp")
     
    Activity.Title = "ABC Medical Notes (2200+ Notes)"
     FillList
     
     
    If FirstTime = True Then Msgbox("Now over 2200 Searchable Notes for Exam Success. Please spread the word as more users means more content and updates and no adverts. Please give 5 stars. The information contained is for study and exams and not for patient management, Please use local guidelines and enlist senior support.""ABC Medical Notes Pro")
     
    End Sub
    Sub FillList
     SetLVHeights4TextSize(SubjectList, 
    True2222 , 5)
     SubjectList.Color=
    Colors.White
     SubjectList.SingleLineLayout.Label.TextSize = 
    22
     SubjectList.SingleLineLayout.Label.TextColor = 
    Colors.Black
     
    Dim gd As GradientDrawable
     gd.Initialize(
    "BOTTOM_TOP"Array As Int (Colors.white, Colors.ARGB(249249,249,249)))
     SubjectList.SingleLineLayout.Background = gd
     SubjectList.AddSingleLine(
    "All entries...")
     
     SubjectList.AddSingleLine(
    "Anatomy")
     SubjectList.AddSingleLine(
    "Antibiotic guidance")
     SubjectList.AddSingleLine(
    "Basic Science")
     SubjectList.AddSingleLine(
    "Cardiology")
     SubjectList.AddSingleLine(
    "Clinical Skills")
     SubjectList.AddSingleLine(
    "Critical Care")
     SubjectList.AddSingleLine(
    "Dermatology")
     SubjectList.AddSingleLine(
    "Drugs")
     SubjectList.AddSingleLine(
    "Electrocardiogram")
     SubjectList.AddSingleLine(
    "Emergency Medicine")
     SubjectList.AddSingleLine(
    "Endocrinology")
     SubjectList.AddSingleLine(
    "ENT")
     SubjectList.AddSingleLine(
    "Examination")
     SubjectList.AddSingleLine(
    "Gastroenterology")
     SubjectList.AddSingleLine(
    "General Practice")
     SubjectList.AddSingleLine(
    "General Information")
     SubjectList.AddSingleLine(
    "Genetics")
     SubjectList.AddSingleLine(
    "Geriatric Medicine")
     SubjectList.AddSingleLine(
    "Gynaecology")
     SubjectList.AddSingleLine(
    "Haematology")
     SubjectList.AddSingleLine(
    "Hepatology")
     SubjectList.AddSingleLine(
    "Imaging")
     SubjectList.AddSingleLine(
    "Immunology")
     SubjectList.AddSingleLine(
    "Infectious Diseases")
     SubjectList.AddSingleLine(
    "Investigations")
     SubjectList.AddSingleLine(
    "Lists")
     SubjectList.AddSingleLine(
    "Microbiology")
     SubjectList.AddSingleLine(
    "Nephrology")
     SubjectList.AddSingleLine(
    "Neurology")
     SubjectList.AddSingleLine(
    "Obstetrics")
     SubjectList.AddSingleLine(
    "Oncology")
     SubjectList.AddSingleLine(
    "Ophthalmology")
     SubjectList.AddSingleLine(
    "Oral Medicine")
     SubjectList.AddSingleLine(
    "Orthopaedics")
     SubjectList.AddSingleLine(
    "Paediatrics")
     SubjectList.AddSingleLine(
    "Pathology")
     SubjectList.AddSingleLine(
    "Pharmacology")
        SubjectList.AddSingleLine(
    "Procedures")
     SubjectList.AddSingleLine(
    "Psychiatry")
     SubjectList.AddSingleLine(
    "Respiratory")
     SubjectList.AddSingleLine(
    "Rheumatology")
     SubjectList.AddSingleLine(
    "Stroke")
     SubjectList.AddSingleLine(
    "Surgery")
     SubjectList.AddSingleLine(
    "Toxicology")
     SubjectList.AddSingleLine(
    "Trials")
     SubjectList.AddSingleLine(
    "Urology")
       
    End Sub
    Sub SetLVHeights4TextSize(LV As ListView, TwoLine As Boolean, Text1Size As Float, Text2Size As Float, Padding As Float)
       
    If TwoLine = True Then
          LV.TwoLinesLayout.Label.Top = 
    0
          LV.TwoLinesLayout.Label.TextSize = Text1Size
          LV.TwoLinesLayout.Label.Height = (Text1Size + (
    2 * Padding)) * Density
          LV.TwoLinesLayout.SecondLabel.Top = LV.TwoLinesLayout.Label.Height
          LV.TwoLinesLayout.SecondLabel.TextSize = Text2Size
          LV.TwoLinesLayout.SecondLabel.Height = (Text2Size + (
    2 * Padding)) * Density
          LV.TwoLinesLayout.ItemHeight = LV.TwoLinesLayout.Label.Height + LV.TwoLinesLayout.SecondLabel.Height
          LV.TwoLinesLayout.Label.Gravity = 
    Gravity.CENTER_VERTICAL
          LV.TwoLinesLayout.SecondLabel.Gravity = 
    Gravity.CENTER_VERTICAL
       
    Else
          LV.SingleLineLayout.Label.Top = 
    0
          LV.SingleLineLayout.Label.TextSize = Text1Size
          LV.SingleLineLayout.Label.Height = (Text1Size + (
    2 * Padding)) * Density
          LV.SingleLineLayout.ItemHeight = LV.SingleLineLayout.Label.Height
          LV.SingleLineLayout.Label.Gravity = 
    Gravity.CENTER_VERTICAL
       
    End If
    End Sub
    Sub Activity_Resume
    End Sub
    Sub Activity_Pause (UserClosed As Boolean)
    End Sub

    Sub SubjectList_ItemClick (Position As Int, Value As Object)
      topic = Value
      
    StartActivity(SecondScreen)


    End Sub
     
    Last edited: Oct 14, 2019
  2. Erel

    Erel Administrator Staff Member Licensed User

    Please use [code]code here...[/code] tags when posting code.

    What was the problem? xCustomListView is the best way to implement cross platform lists.
     
  3. DeclanOK

    DeclanOK New Member Licensed User

    Thanks Erel - I am on the right track then
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice