I have a simple app that creates a CustomListView that contains 2 Labels.
When the lblEvent is clicked, I open the keypad.
I then want to use the "Done" key of the keypad to save any text entered into lblEvent.
However, I get the following error on compile:
My project code:
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
			
			When the lblEvent is clicked, I open the keypad.
I then want to use the "Done" key of the keypad to save any text entered into lblEvent.
However, I get the following error on compile:
** Activity (main) Create, isFirst = true **
main_activity_create (java line: 345)
java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
at anywheresoftware.b4a.samples.customlistview.main._activity_create(main.java:345)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:169)
at anywheresoftware.b4a.samples.customlistview.main.afterFirstLayout(main.java:102)
at anywheresoftware.b4a.samples.customlistview.main.access$000(main.java:17)
at anywheresoftware.b4a.samples.customlistview.main$WaitForLayout.run(main.java:80)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5637)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
My project code:
			
				B4X:
			
		
		
		#Region Module Attributes
    #FullScreen: False
    #IncludeTitle: True
    #ApplicationLabel: CustomListView Example
    #VersionCode: 1
    #CanInstallToExternalStorage: False
#End Region
'Activity module
Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
End Sub
Sub Globals
    Private clv2 As CustomListView
    Dim IME As IME
    Private lblEvent As Label
    Private lblTime As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("1")
    IME.Initialize("IME")
    lblEvent.Initialize("lblEvent")
    IME.AddHandleActionEvent(lblEvent)
    For i = 1 To 10
        clv2.Add(CreateListItem($"Item #${i}"$, clv2.AsView.Width, 70dip), 70dip, $"Item #${i}"$)
    Next
   
End Sub
Sub IME_HandleAction As Boolean
   Dim e As EditText
   e = Sender
    Log("Text: " & e)
End Sub
Sub clv2_ItemClick(Index As Int, Value As Object)
    IME.ShowKeyboard(lblEvent)
    Log(Index & " = " & Value)
End Sub
Sub CreateListItem(Text As String, Width As Int, Height As Int) As Panel
    Dim p As Panel
    p.Initialize("")
    'we need to add the panel to a parent to set its dimensions. It will be removed after the layout is loaded.
    Activity.AddView(p, 0, 0, Width, Height)
    p.LoadLayout("CellItem")
    p.RemoveView
    'lblTime will point to the last added views.
    lblTime.Text = Text
    Return p
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub 
				 
 
		 
 
		 
 
		