You can get the Index of the view with:
Private Index As Int = clvEvents.GetItemFromView(Sender)
Example:
Sub txtEvent_EnterPressed
Private edt As EditText = Sender
Private Index As Int = clvEvents.GetItemFromView(Sender)
Log("Text" & Index & " = " & edt.Text)
End Sub
If you use the EnterPressed event be careful, because if the user clicks on another EditText the EnterPressed event will not be raised but the text remains in the EditText.
You should consider using the FocusChanged event and check when the EditText looses focus with
HasFocus = False.
You should never use pure pixels:
TabHeight = 30 should be
TabHeight = 30dip
You should remove the CustomListViews from the Activity like this:
clvEvents.AsView.RemoveView
tbhMain.AddTab2("Events",clvEvents.AsView)
clvClasses.AsView.RemoveView
tbhMain.AddTab2("Classes", clvClasses.AsView)
clvSports.AsView.RemoveView
tbhMain.AddTab2("Sports", clvSports.AsView)
If you don't they remain on the Activity.
When you first run your project and click on an item the
Sub clvEvents_ItemClick routine is not called but
Sub clvSports_ItemClick is called because clvSports is the View in front.
You can remove these lines, they are not needed.
' IME.Initialize("IME")
' txtEvent.Initialize("txtEvent")
' IME.AddHandleActionEvent(txtEvent)
Anyway this doesn't work because txtEvent is not yet known.
You dim one and initialize it, but this one doesn't point to the txtEvent views in the CustomListView.
Attached a modified version of your project.