<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Hyperlink in Callout in ArcGIS Runtime SDK for Android Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506675#M3467</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Can you share some code and/or the logcat exception if there is one?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 08 Jun 2013 07:07:03 GMT</pubDate>
    <dc:creator>DanO_Neill</dc:creator>
    <dc:date>2013-06-08T07:07:03Z</dc:date>
    <item>
      <title>Hyperlink in Callout</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506674#M3466</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;In my Android app I created a callout that displays the contents of my website field (Web Addresses).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm unable to click on the website inside the callout and navigate to the web address.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What am I doing wrong?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How do I make just the website clickable or an actual hyperlink?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;John&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Jun 2013 17:07:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506674#M3466</guid>
      <dc:creator>JohnAllen</dc:creator>
      <dc:date>2013-06-06T17:07:29Z</dc:date>
    </item>
    <item>
      <title>Re: Hyperlink in Callout</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506675#M3467</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Can you share some code and/or the logcat exception if there is one?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 08 Jun 2013 07:07:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506675#M3467</guid>
      <dc:creator>DanO_Neill</dc:creator>
      <dc:date>2013-06-08T07:07:03Z</dc:date>
    </item>
    <item>
      <title>Re: Hyperlink in Callout</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506676#M3468</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here is some of my java code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;public class Mapscreen extends Activity {

 public MapView map;
 public boolean m_isMapLoaded;
&amp;nbsp; 
 //Callout Variables
 private int m_calloutStyle;
 private Callout m_callout;
 private ViewGroup calloutContent;
 private Graphic m_identifiedGraphic;
&amp;nbsp; ArcGISFeatureLayer fLayer; 
 ImageView CallOutClose;

 /** Called when the activity is first created. */
 public void onCreate(Bundle savedInstanceState) {
&amp;nbsp; // Initial activity content view. (START)
&amp;nbsp; super.onCreate(savedInstanceState);
&amp;nbsp; setContentView(R.layout.mapscreen);

&amp;nbsp; // Retrieve the map layout and initial extent from mapscreen XML layout.
&amp;nbsp; map = (MapView) findViewById(R.id.map); 
&amp;nbsp; 
&amp;nbsp; // Add ESRI basemap layer to MapView.
&amp;nbsp; map.addLayer(new ArcGISTiledMapServiceLayer("" +
&amp;nbsp; "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"));
&amp;nbsp; 
&amp;nbsp; // Add Feature layer to the MapView
&amp;nbsp; String URL = "ADD YOUR MAP SERIVCE HERE";
&amp;nbsp; ArcGISFeatureLayer fLayer = new ArcGISFeatureLayer(URL, MODE.ONDEMAND);
&amp;nbsp; map.addLayer(fLayer); 

&amp;nbsp; // This puts the ERSI logo on the bottom left corner of the screen once the map screen appears. This is mandatory 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; by ESRI.
&amp;nbsp; map.setEsriLogoVisible(true);&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; LayoutInflater inflater = getLayoutInflater();
&amp;nbsp; // Get the MapView's callout from xml-&amp;gt;identify_calloutstyle.xml
&amp;nbsp; m_calloutStyle = R.xml.facility_calloutstyle;
&amp;nbsp; // Get the layout for the Callout from layout-&amp;gt;identify_callout_content.xml
&amp;nbsp; calloutContent = (ViewGroup) inflater.inflate(R.layout.facility_callout_content, null);&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; m_callout = map.getCallout();&amp;nbsp; 
&amp;nbsp; m_callout.setContent(calloutContent); 
&amp;nbsp; 

&amp;nbsp; // This initiates/starts the loading dialog when entering into map screen.
&amp;nbsp; final ProgressDialog loadingDialog = new ProgressDialog(this);
&amp;nbsp; loadingDialog.setMessage("Loading...");
&amp;nbsp; loadingDialog.show();
&amp;nbsp; 
&amp;nbsp; // This initiates the listening process to see if the map loads.
&amp;nbsp; map.setOnStatusChangedListener(new OnStatusChangedListener() {

&amp;nbsp;&amp;nbsp; private static final long serialVersionUID = 1L;

&amp;nbsp;&amp;nbsp; @Override
&amp;nbsp;&amp;nbsp; public void onStatusChanged(Object source, STATUS status) {

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Check to see if map has successfully loaded or Initialized.
&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((source == map) &amp;amp;&amp;amp; (status == STATUS.INITIALIZED)) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If the map is loaded successfully set the flag to true and hide the loading dialog.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_isMapLoaded = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadingDialog.hide();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Check to see if the map has unsuccessfully loaded or Initialization failed.
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Initialization failed typically results from no wireless connectivity.
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (OnStatusChangedListener.STATUS.INITIALIZATION_FAILED == status) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If the map did not load set the flag as false and hide the loading dialog.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_isMapLoaded = false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadingDialog.hide();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Because the map failed to load, the following toast will appear briefly with the following message.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Toast toast = Toast.makeText(Mapscreen.this,"Failed to load...Connection 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Issue",Toast.LENGTH_LONG);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toast.setGravity(Gravity.CENTER, 0, 0);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toast.show();
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }

&amp;nbsp; });
&amp;nbsp; 
 //Callout Part - 1
&amp;nbsp; map.setOnSingleTapListener(new OnSingleTapListener() {

&amp;nbsp;&amp;nbsp; private static final long serialVersionUID = 1L;

&amp;nbsp;&amp;nbsp; @Override
&amp;nbsp;&amp;nbsp; public void onSingleTap(float x, float y) {

&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m_isMapLoaded) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // If map is initialized and Single tap is registered on screen identify the location selected
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identifyLocation(x, y);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; });
 
 } 
 // Initial activity content view. (END)
 
 //Callout Part - 2
 /**
&amp;nbsp; * Takes in the screen location of the point to identify the feature on map.
&amp;nbsp; * 
&amp;nbsp; * @param x
&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x co-ordinate of point
&amp;nbsp; * @param y
&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y co-ordinate of point
&amp;nbsp; */
 private void identifyLocation(float x, float y) {

&amp;nbsp; // Hide the callout, if the callout from previous tap is still showing on map
&amp;nbsp; if (m_callout.isShowing()) {
&amp;nbsp;&amp;nbsp; m_callout.hide();
&amp;nbsp; }

&amp;nbsp; // Find out if the user tapped on a feature
&amp;nbsp; SearchForFeature(x, y);

&amp;nbsp; // If the user tapped on a feature, then display information regarding the feature in the callout
&amp;nbsp; if (m_identifiedGraphic != null) {
&amp;nbsp;&amp;nbsp; Point mapPoint = map.toMapPoint(x, y);
&amp;nbsp;&amp;nbsp; // Show Callout
&amp;nbsp;&amp;nbsp; ShowCallout(m_callout, m_identifiedGraphic, mapPoint);
&amp;nbsp;&amp;nbsp; //Close button for the callout is initiated here.
&amp;nbsp;&amp;nbsp; ImageView CallOutClose = (ImageView) findViewById(R.id.callout_close_button);
&amp;nbsp;&amp;nbsp; CallOutClose.setOnClickListener(new View.OnClickListener() {
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onClick(View v) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_callout.hide();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; });
&amp;nbsp; }
 }
 
 //Callout Part - 3
 /**
&amp;nbsp; * Sets the value of m_identifiedGraphic to the Graphic present on the
&amp;nbsp; * location of screen tap
&amp;nbsp; * 
&amp;nbsp; * @param x
&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x co-ordinate of point
&amp;nbsp; * @param y
&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y co-ordinate of point
&amp;nbsp; */
 private void SearchForFeature(float x, float y) {

&amp;nbsp; Point mapPoint = map.toMapPoint(x, y);

&amp;nbsp; if (mapPoint != null) {

&amp;nbsp;&amp;nbsp; for (Layer layer : map.getLayers()) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (layer == null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;

&amp;nbsp;&amp;nbsp;&amp;nbsp; if (layer instanceof ArcGISFeatureLayer) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ArcGISFeatureLayer fLayer = (ArcGISFeatureLayer) layer;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get the Graphic at location x,y
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_identifiedGraphic = GetFeature(fLayer, x, y);
&amp;nbsp;&amp;nbsp;&amp;nbsp; } else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; }
 }
 
 //Callout Part - 4
 /**
&amp;nbsp; * Returns the Graphic present the location of screen tap
&amp;nbsp; * 
&amp;nbsp; * @param fLayer
&amp;nbsp; * @param x
&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x co-ordinate of point
&amp;nbsp; * @param y
&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y co-ordinate of point
&amp;nbsp; * @return Graphic at location x,y
&amp;nbsp; */
 private Graphic GetFeature(ArcGISFeatureLayer fLayer, float x, float y) {

&amp;nbsp; // Get the graphics near the Point.
&amp;nbsp; int[] ids = fLayer.getGraphicIDs(x, y, 10, 1);
&amp;nbsp; if (ids == null || ids.length == 0) {
&amp;nbsp;&amp;nbsp; return null;
&amp;nbsp; }
&amp;nbsp; Graphic g = fLayer.getGraphic(ids[0]);
&amp;nbsp; return g;
 }
 
 //Callout Part - 5
 /**
&amp;nbsp; * Shows the Attribute values for the Graphic in the Callout
&amp;nbsp; * 
&amp;nbsp; * @param calloutView
&amp;nbsp; * @param graphic
&amp;nbsp; * @param mapPoint
&amp;nbsp; */
 private void ShowCallout(Callout calloutView, Graphic graphic, Point mapPoint) {

&amp;nbsp; // Get the values of attributes for the Graphic
&amp;nbsp; String Name = (String) graphic.getAttributeValue("Name");
&amp;nbsp; String Phone = (String) graphic.getAttributeValue("Phone");&amp;nbsp; 
&amp;nbsp; String LatDegMinSec = (String) graphic.getAttributeValue("LatDegMinSec");
&amp;nbsp; String LongDegMinSec = (String) graphic.getAttributeValue("LongDegMinSec");
&amp;nbsp; String Website = (String) graphic.getAttributeValue("Website");&amp;nbsp; 

&amp;nbsp;&amp;nbsp; // Set callout properties
&amp;nbsp;&amp;nbsp; calloutView.setCoordinates(mapPoint);
&amp;nbsp;&amp;nbsp; calloutView.setStyle(m_calloutStyle);
&amp;nbsp;&amp;nbsp; calloutView.setMaxWidth(700);
&amp;nbsp;&amp;nbsp; calloutView.setMaxHeight(500);

&amp;nbsp; // Compose the string to display the results
&amp;nbsp; StringBuilder FacilityCallout = new StringBuilder();
&amp;nbsp;&amp;nbsp; FacilityCallout.append("Facility:\t" + Name);
&amp;nbsp; FacilityCallout.append("\nPhone:\t" + Phone);&amp;nbsp; 
&amp;nbsp; FacilityCallout.append("\nLatitude:\t" + LatDegMinSec);
&amp;nbsp; FacilityCallout.append("\nLongitude:\t" + LongDegMinSec); 
&amp;nbsp; FacilityCallout.append("\nWebsite:\t" + Website);

&amp;nbsp; TextView calloutTextLine1 = (TextView) findViewById(R.id.callout_content_textview);
&amp;nbsp; calloutTextLine1.setText(FacilityCallout);&amp;nbsp; 
&amp;nbsp; calloutView.show();
 } 
 &lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 22:13:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506676#M3468</guid>
      <dc:creator>JohnAllen</dc:creator>
      <dc:date>2021-12-11T22:13:41Z</dc:date>
    </item>
    <item>
      <title>Re: Hyperlink in Callout</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506677#M3469</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Has anybody else experienced this problem? Is this a problem or am I not doing something right?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Jun 2013 12:26:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506677#M3469</guid>
      <dc:creator>JohnAllen</dc:creator>
      <dc:date>2013-06-18T12:26:04Z</dc:date>
    </item>
    <item>
      <title>Re: Hyperlink in Callout</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506678#M3470</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Try something like this (my syntax might be off, but close &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt; &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt;&lt;SPAN style="color: #333333; font-family: Courier New;"&gt;FacilityCallout.append(Html.fromHtml("&amp;lt;a href=\"" + Website + "\"&amp;gt;Website&amp;lt;/a&amp;gt;"));&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2013 16:31:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506678#M3470</guid>
      <dc:creator>deleted-user-ATjHIWsdQYmT</dc:creator>
      <dc:date>2013-07-02T16:31:50Z</dc:date>
    </item>
    <item>
      <title>Re: Hyperlink in Callout</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506679#M3471</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Andrew thank you for the reply. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried your way and kinda got it to work, and then I found another way of making the web site a hyper link. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This is the website I found my information on: &lt;/SPAN&gt;&lt;A href="http://stackoverflow.com/questions/2734270/how-do-i-make-links-in-a-textview-clickable" rel="nofollow noopener noreferrer" target="_blank"&gt;http://stackoverflow.com/questions/2734270/how-do-i-make-links-in-a-textview-clickable&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;All I did was add:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;android:autoLink="web"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;android:clickable="true"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;to my callout TextView in XML layout file and it automatically understood I was using a website and added a hyper-link.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can also add (phone,map..ect): &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;android:autoLink="web|phone"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and it will let you click a phone number and direct your screen to the dialer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;

&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/identifyCallout"
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:clickable="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:orientation="horizontal" &amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Display field value --&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RelativeLayout
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:clickable="true" &amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;&amp;lt;TextView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/callout_content_textview"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:autoLink="web|phone"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:clickable="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:paddingRight="5dp" /&amp;gt;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/RelativeLayout&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ImageView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/callout_close_button"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="14dp"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="14dp"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_alignParentRight="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_alignParentTop="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:clickable="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:src="@drawable/b_close" /&amp;gt;

&amp;lt;/LinearLayout&amp;gt;

&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now I'm working on making my latitude,longitude use Google navigation app when clicked. It's a little different. I'll post when I figure it out completely.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 22:13:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506679#M3471</guid>
      <dc:creator>JohnAllen</dc:creator>
      <dc:date>2021-12-11T22:13:44Z</dc:date>
    </item>
    <item>
      <title>Re: Hyperlink in Callout</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506680#M3472</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Update:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To get the proper hyperlinks I needed in my apps callouts I had to make some changes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I changed my app to include both autoLink="" in XML and (Html.fromHtml()); in Java code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;autoLink="" works well if you want to hyper link a phone number, email address, web site, all...ect. in a callout, but it doesn't read lat.long correctly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I needed the user to be able to select the Lat.Long in the callout and open Google Navigation. The autoLink="" in XML would not do this. So I had to combine/use autoLink="" in XML and (Html.fromHtml()); in Java code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;autoLink="" in XML tries to make all numbers a phone number thus assigning my Lat./Long into a phone number hyperlink. When selected it would make it route the user to the dial pad with numbers (For example: 3445632 in phones dial pad). All-in-All the software isn't smart enough to look at lat.long and determine it needs to map it in Google.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To fix this, I got rid of the StringBuilder with one TextView and made all TextViews to control each line of text in the callout from XML or Java code. Thus, being able to link certain text in different hyperlink "formats".&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Instead of making the lat.long. a hyperlink, I made another TextView and used a string called Directions. Directions string uses a web address of each facilities lat.long. (For Exmple: &lt;/SPAN&gt;&lt;A href="http://maps.google.com/?daddr=56.3546,34.322546" rel="nofollow noopener noreferrer" target="_blank"&gt;http://maps.google.com/?daddr=56.3546,34.322546&lt;/A&gt;&lt;SPAN&gt;) that is stored as an attribute column in my published layer. (See Image 1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When "Map It" hyperlink is selected Google Maps is opened via the Lat.Long webaddress: (Image 3)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Basically I use ESRI API for the app, but use Google for navigation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;XML Code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/identifyCallout"
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:clickable="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp; android:orientation="horizontal" &amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;!-- Display field value --&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RelativeLayout
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:clickable="true" &amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/callout_content_textview0"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:paddingRight="5dp" /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/callout_content_textview1"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_below="@id/callout_content_textview0"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt; android:autoLink="phone"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:paddingRight="5dp" /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/callout_content_textview2"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_below="@id/callout_content_textview1"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:paddingRight="5dp" /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/callout_content_textview3"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_below="@id/callout_content_textview2"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:paddingRight="5dp" /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/callout_content_textview4"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_below="@id/callout_content_textview3"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:paddingRight="5dp" /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/callout_content_textview5"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_below="@id/callout_content_textview4"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:paddingRight="5dp" /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/callout_content_textview6"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_below="@id/callout_content_textview5"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:paddingRight="5dp" /&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/callout_content_textview7"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_below="@id/callout_content_textview6"&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;android:autoLink="web"&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:paddingRight="5dp" /&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/RelativeLayout&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ImageView
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/callout_close_button"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="14dp"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="14dp"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_alignParentRight="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_alignParentTop="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:clickable="true"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:src="@drawable/b_close" /&amp;gt;

&amp;lt;/LinearLayout&amp;gt;

&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Portion of Java Code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
private void ShowCallout(Callout calloutView, Graphic graphic, Point mapPoint) {

&amp;nbsp; // Get the values of attributes for the Graphic
&amp;nbsp; String Name = (String) graphic.getAttributeValue("Name");
&amp;nbsp; String Phone = (String) graphic.getAttributeValue("Phone");
&amp;nbsp; String Type = (String) graphic.getAttributeValue("Type");
&amp;nbsp; String Grade = (String) graphic.getAttributeValue("Grade");
&amp;nbsp; String Directions = (String) graphic.getAttributeValue("LatLongWebLink");
&amp;nbsp; String LatDegMinSec = (String) graphic.getAttributeValue("LatDegMinSec");
&amp;nbsp; String LongDegMinSec = (String) graphic.getAttributeValue("LongDegMinSec");
&amp;nbsp; String Website = (String) graphic.getAttributeValue("Website");&amp;nbsp; 

&amp;nbsp; // Set callout properties
&amp;nbsp; calloutView.setCoordinates(mapPoint);
&amp;nbsp; calloutView.setStyle(m_calloutStyle);
&amp;nbsp; calloutView.setMaxWidth(700);
&amp;nbsp; calloutView.setMaxHeight(500);

&amp;nbsp; TextView calloutTextLine0 = (TextView) findViewById(R.id.callout_content_textview0);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; calloutTextLine0.setText("Name:" + " " + Name);
&amp;nbsp; 
&amp;nbsp; TextView calloutTextLine1 = (TextView) findViewById(R.id.callout_content_textview1); 
&amp;nbsp; calloutTextLine1.setMovementMethod(LinkMovementMethod.getInstance());
&amp;nbsp; calloutTextLine1.setText("Phone:" + " " + Phone);
&amp;nbsp; 
&amp;nbsp; TextView calloutTextLine2 = (TextView) findViewById(R.id.callout_content_textview2);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; calloutTextLine2.setText("Type:" + " " + Type);
&amp;nbsp; 
&amp;nbsp; TextView calloutTextLine3 = (TextView) findViewById(R.id.callout_content_textview3);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; calloutTextLine3.setText("Grade:" + " " + Grade);
&amp;nbsp; 
&amp;nbsp; TextView calloutTextLine4 = (TextView) findViewById(R.id.callout_content_textview4);
&amp;nbsp; &lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;calloutTextLine4.setMovementMethod(LinkMovementMethod.getInstance());
&amp;nbsp; calloutTextLine4.setText(Html.fromHtml("Directions:" + " " + "&amp;lt;a href=\"" + Directions + "\"&amp;gt;Map It&amp;lt;/a&amp;gt;"));&lt;/SPAN&gt;
&amp;nbsp; 
&amp;nbsp; TextView calloutTextLine5 = (TextView) findViewById(R.id.callout_content_textview5);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; calloutTextLine5.setText("Latitude:" + " " + LatDegMinSec);
&amp;nbsp; 
&amp;nbsp; TextView calloutTextLine6 = (TextView) findViewById(R.id.callout_content_textview6);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; calloutTextLine6.setText("Longitude:" + " " + LongDegMinSec);
&amp;nbsp; 
&amp;nbsp; TextView calloutTextLine7 = (TextView) findViewById(R.id.callout_content_textview7);
&amp;nbsp; calloutTextLine7.setMovementMethod(LinkMovementMethod.getInstance());
&amp;nbsp; calloutTextLine7.setText("Website:" + " " + Website);&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; 
&amp;nbsp; calloutView.show();
 }&amp;nbsp; 
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 22:13:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/hyperlink-in-callout/m-p/506680#M3472</guid>
      <dc:creator>JohnAllen</dc:creator>
      <dc:date>2021-12-11T22:13:47Z</dc:date>
    </item>
  </channel>
</rss>

