Please modify Sub TouchPanel_Touch
B4X:
Private Sub TouchPanel_Touch (Action As Int, X As Float, Y As Float)
Dim run As BCTextRun = Null
If URLToLines.Size > 0 Or Action = TouchPanel.TOUCH_ACTION_UP Then
run = FindTouchedRun(X, Y)
End If
If run <> Null And ParseData.URLs.ContainsKey(run) Then
If Action = TouchPanel.TOUCH_ACTION_UP Then
Dim url As String = ParseData.Urls.Get(run)
CallSubDelayed2(mCallBack, mEventName & "_LinkClicked", url)
MarkURL(Null)
Else If (xui.IsB4i And Action = 4) Or (xui.IsB4A And Action = 3) Then 'cancelled
MarkURL(Null)
Else
MarkURL(run)
End If
Return
End If
'new feature
If Action = TouchPanel.TOUCH_ACTION_UP Then
CallSubDelayed(mCallBack, mEventName & "_Click")
End If
MarkURL(Null)
End Sub
B4X:
Public Sub DesignerCreateView (Base As Object, Lbl As Label, Props As Map)
...
If xui.SubExists(mCallBack, mEventName & "_linkclicked", 1) or xui.SubExists(mCallBack, mEventName & "_Click", 1) Then
TouchPanel = xui.CreatePanel("TouchPanel")
End If
...
End Sub
Last edited: