我的XML布局文件中有以下TextView: -
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/autolink_test"
android:autoLink="all"
/>
字符串autolink_test包含电话号码,电子邮件地址,网站地址和实际地理位置。
虽然前三个正确显示为可点击的自动链接,但地址却没有。只有邮政编码部分显示为自动链接......这也是电话号码! (当我点击它时,电话拨号器会以该号码启动。)
任何帮助都将不胜感激。
答案 0 :(得分:12)
替代它,以防自动链接不起作用
添加指向texview的链接。下面列举如下:
SpannableString spanStr = new SpannableString(buf.toString());
spanStr.setSpan(new UnderlineSpan(), 0, spanStr.length(), 0);
iTextView.setText(spanStr);
使用以下代码点击地图应用程序打开它,如下所示:
Intent geoIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q="
+iTextView.getText().toString()));
startActivity(geoIntent);
答案 1 :(得分:10)
好的,我弄明白是什么导致了这个问题。我想我会在这里留下答案,以防其他人遇到同样的问题。
如果街道地址没有正确大写,则无法正确读取地址!
这是我的XML autolink_test字符串:
<string name="autolink_test">Name: New York Times \n
Email: public@nytimes.com \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>
第一个地址正确显示为自动链接。 第二个('avenue'中有一个小'a')没有正确显示。
这对我来说有点奇怪,因为谷歌地图网站肯定不关心这样的细节。
无论如何,所以这里是: - )