Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

autoLink for map not working

I have the following TextView in my XML layout file:-

<TextView  
   android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/autolink_test"
       android:autoLink="all"
/>

The string autolink_test contains a phone number, an email address, a website address and a physical geographical address.

While the first three are showing up correctly as clickable autolinks, the address does not. Only the zipcode part shows up as an autolink... and that too as a phone number! (When I click it, the phone dialer starts up with that number).

Any help would be appreciated.

like image 619
OceanBlue Avatar asked Apr 12 '10 19:04

OceanBlue


2 Answers

Alternative to it, in case if autolink doesn't work

Add links to your texview . Get it underline as folows :

SpannableString spanStr = new SpannableString(buf.toString());
spanStr.setSpan(new UnderlineSpan(), 0, spanStr.length(), 0);
iTextView.setText(spanStr);

Use the following code to open it with map app on click as follows :

Intent geoIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q="
                                +iTextView.getText().toString()));
startActivity(geoIntent);
like image 83
Napolean Avatar answered Nov 01 '22 15:11

Napolean


OK, I figured out what was causing the problem. Just thought I will leave the answer here in case someone else runs into the same problem.

If the street address is not properly capitalized, it is not read properly as the address!

Here is my XML autolink_test string:

<string name="autolink_test">Name: New York Times \n
   Email: [email protected] \n
   Phone: 212-556-7652 \n
   Address: 620 Eighth Avenue New York, NY 10018  \n
   Address: 620 Eighth avenue New York, NY 10018  \n
   Website: http://www.nytimes.com
</string>

The first address shows up correctly as an autolink. The second one (with a small 'a' in 'avenue') does not show up correctly.

This seems a little strange to me as the google maps website certainly doesn't care about such niceties.

Anyways, so here it is :-)

like image 23
OceanBlue Avatar answered Nov 01 '22 15:11

OceanBlue