Android Question error while opening layout

Discussion in 'Android Questions' started by Makumbi, Jul 22, 2019.

  1. Makumbi

    Makumbi Active Member Licensed User

    Code:
    #Region  Activity Attributes
        
    #FullScreen: False
        
    #IncludeTitle: True
    #End Region

    Sub Process_Globals
        
    'These global variables will be declared once when the application starts.
        'These variables can be accessed from all modules.
        Dim cursor1 As Cursor
    End Sub

    Sub Globals
        
    'These global variables will be redeclared each time the activity is created.
        'These variables can only be accessed from this module.
        Private B4XTable1 As B4XTable
        
        
    Dim Classt As Label
        
    Dim streamd As Label
        
    Dim Tname As Label
        
    Dim MobileNo As Label
        
    Dim MobileNo2 As Label
    End Sub

    Sub Activity_Create(FirstTime As Boolean)
        
    'Do not forget to load the layout file created with the visual designer. For example:
        Activity.LoadLayout("Classteacher")
        
        ShowTable
    End Sub

    Sub Activity_Resume

    End Sub


    Sub B4XTable1_CellClicked (ColumnId As String, RowId As Long)
        
    Log(ColumnId)
        
    'Dim SQLQry As String = "DELETE FROM Studentphoto2"
        'Starter.SQL1.ExecNonQuery(SQLQry)
        'If IsConnectedToInternet = True Then
            If ColumnId = "Student Names" Then
                Classt.Text = B4XTable1.GetRow(RowId).Get(
    "Class")
                streamd.Text = B4XTable1.GetRow(RowId).Get(
    "Stream")
            
    '    StudentName.Text = B4XTable1.GetRow(RowId).Get("Student Names")
            ProgressDialogShow2("Loading Classteacher Details  Please Wait...",False)
            Sleep(
    50)
            
    Dim holdnt As String
            
    Dim rstnt As ResumableSub = Loadterms(holdnt)
            
    Wait For(rstnt) Complete (Result As String)
            
    ProgressDialogHide
        
    End If
    End Sub
    Sub IsConnectedToInternet As Boolean
        
    Dim r As Reflector
     
        r.Target = r.GetContext
        r.Target = r.RunMethod2(
    "getSystemService""connectivity""java.lang.String")
        r.Target = r.RunMethod(
    "getActiveNetworkInfo")
     
        
    If r.Target <> Null Then
            
    Return r.RunMethod("isConnectedOrConnecting")
        
    End If
     
        
    Return False
    End Sub

    Sub Loadterms (a As StringAs ResumableSub
        
    'Log(a)
        If IsConnectedToInternet= True Then

                    
            
    Dim jt As HttpJob
            jt.Initialize(
    "", Me)
            jt.Download(
    "http://kccug.com/KabojjaApp/HandlerVBGteacher.ashx?customerid=" & Classt.Text & "&customerid2=" & streamd.Text)
            
    'Sleep(6000)
            'jt.GetRequest.Timeout = 2000 ' 10 seconds
            Wait For (jt) JobDone(jt As HttpJob)
            
    If jt.Success Then ' if job is success (http status code 200)
                Dim RetVal As String
                RetVal = jt.GetString
                
    If jt.GetString = "[]" Then
                    
    'MsgboxAsync("No Records to Upload Yet for: " & CustID ,"SMIS")
                    '    Return
                
                
    Else
                
                    
    Dim jpt As JSONParser
                    jpt.Initialize(jt.GetString)
                    
    '    Log(jpt) ' will pr
                    Dim quotes As List = jpt.NextArray
                    
    For Each quot As Map In quotes
                        
    Log("Teacher: " & quot.Get("Teacher"))
                        
    Log("Phone: " & quot.Get("Phone"))
                        
    Log("Phone: " & quot.Get("Phone2"))
                        
                        Tname.Text=quot.Get(
    "Teacher")
                        MobileNo.Text=quot.Get(
    "Phone")
                        MobileNo2.Text=quot.Get(
    "Phone2")
                    
    Next
                
                    
    Return "Active"
                
    End If
            
    End If
            
    'jt.Release
            
                        
        
        
    Else
            MsgboxAsync(
    "Error Connecting to the Server Please Check Your Internet Connection Or Load Mbs","Server Error")
            
            
    't1.Enabled = False

        
    End If
    End Sub
    Sub ShowTable
        B4XTable1.Clear
        B4XTable1.AddColumn(
    "Student Names", B4XTable1.COLUMN_TYPE_TEXT).Width=150dip
        B4XTable1.AddColumn(
    "Class", B4XTable1.COLUMN_TYPE_TEXT).Width=70dip
        B4XTable1.AddColumn(
    "Stream", B4XTable1.COLUMN_TYPE_TEXT).Width=70dip
        B4XTable1.AddColumn(
    "Account", B4XTable1.COLUMN_TYPE_TEXT)
        
    Dim data As List
        data.Initialize
        
        cursor1 = Starter.SQL1.ExecQuery(
    "SELECT phone AS Phone,Sex FROM Register")
        
    If cursor1.RowCount > 0 Then
            cursor1.Position =
    0
            
    Dim Phonet As String
            Phonet = cursor1.Getstring(
    "Phone")
                
        
    End If
        
    Dim rs As ResultSet  = Starter.SQL1.ExecQuery2("SELECT DISTINCT Names,Class || Stream As CS,Class,Stream,Account,Amount As Balance FROM Balances WHERE Phone = ?"Array As String(Phonet))
        
    Do While rs.NextRow
            
    Dim row(4As Object
        
            row(
    0) = rs.GetString("Names")
            row(
    1) = rs.GetString("Class")
            row(
    2) = rs.GetString("Stream")
            row(
    3) = rs.GetString("Account")
            data.Add(row)
        
    Loop
        rs.Close
        B4XTable1.SetData(data)
        
    'B4XTable1.VisibleColumns.RemoveAt(B4XTable1.VisibleColumns.IndexOf("Account"))
    End Sub

    Sub Activity_Pause (UserClosed As Boolean)
    Activity.Finish
    End Sub

    Code:
    ** Activity (main) Pause, UserClosed = false **
    ** 
    Activity (main) Resume **
    Class 
    not found: b4a.example.b4xtable, trying: smiskabojja.com.b4xtable
    0
    Class 
    not found: b4a.example.b4xfloattextfield, trying: smiskabojja.com.b4xfloattextfield
    12
    ** 
    Activity (main) Pause, UserClosed = false **
    ** 
    Activity (classteacher) Create, isFirst = true **
    classteacher_activity_create (java line: 
    375)
    java.lang.RuntimeException: java.lang.RuntimeException: Field b4xtable1 was declared with the wrong 
    type.
        at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout(LayoutBuilder.java:
    170)
        at anywheresoftware.b4a.objects.ActivityWrapper.LoadLayout(ActivityWrapper.java:
    209)
        at smiskabojja.com.classteacher._activity_create(classteacher.java:
    375)
        at java.lang.reflect.Method.invoke(Native Method)
        at anywheresoftware.b4a.BA.raiseEvent2(BA.java:
    196)
        at smiskabojja.com.classteacher.afterFirstLayout(classteacher.java:
    104)
        at smiskabojja.com.classteacher.access$
    000(classteacher.java:17)
        at smiskabojja.com.classteacher$WaitForLayout.run(classteacher.java:
    82)
        at android.os.Handler.handleCallback(Handler.java:
    751)
        at android.os.Handler.dispatchMessage(Handler.java:
    95)
        at android.os.Looper.loop(Looper.java:
    154)
        at android.app.ActivityThread.main(ActivityThread.java:
    6077)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:
    866)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:
    756)
    Caused by: java.lang.RuntimeException: Field b4xtable1 was declared with the wrong 
    type.
        at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayoutHelper(LayoutBuilder.java:
    431)
        at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayoutHelper(LayoutBuilder.java:
    454)
        at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout(LayoutBuilder.java:
    148)
        ... 
    14 more
    java.lang.RuntimeException: java.lang.RuntimeException: Field b4xtable1 was declared with the wrong 
    type.
     
  2. DonManfred

    DonManfred Expert Licensed User

    I posted a link to java packagenaming and also told that it is a google guideline.
    Why are you using another packagename then? Just ignore any suggestions? good idea


    Additional you need to remove the view from your layout and add it again into the layout using your apps packagename.
     
    BillMeyer likes this.
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