以下代码不起作用 -
TextView myLocation = new TextView(this);
myLocation.setText("Sodala, Jaipur, Rajasthan, IN");
Linkify.addLinks(myLocation , Linkify.MAP_ADDRESSES);
mainLayout.addView(myLocation);
答案 0 :(得分:2)
看来你的地址对于Linkify来说太模糊了。我不知道印度的地址是什么样的(如果它们完全不同),那么考虑一下美国的纽约:
myLocation.setText("New York, NY 34 Maint St New York, NY");
“仅纽约,纽约”不是Linkify的有效地图地址。
您可以尝试设置自己的模式,方法是an example here与“,IN”匹配任何内容。
答案 1 :(得分:1)
以下是带有自定义模式的 addLinks 的简化版。:
Pattern pattern = Pattern.compile(".*", Pattern.DOTALL);
addressTextView.setText(address);
Linkify.addLinks(addressTextView, pattern, "geo:0,0?q=");
我将此用于德国和美国地址,因为谷歌地图在搜索其他地方应该找到的地址时非常聪明。
这个重点是适用于我的用例的 TextView 的所有内容。如果地址位于字符串内部,则需要在此处应用更智能的模式。
答案 2 :(得分:0)
你试试
http://www.aviyehuda.com/2011/01/android-creating-links-using-linkfy/
// Recognize all of the default link text patterns
Linkify.addLinks(text, Linkify.ALL);
或 http://www.aviyehuda.com/2011/01/android-creating-links-using-linkfy/
TextView myCustomLink2 = new TextView(this);
Pattern pattern2 = Pattern.compile("[a-zA-Z]+");
myCustomLink2.setText("press one of these words to search it on google: Android Linkify dzone");
Linkify.addLinks(myCustomLink2,pattern2, "http://www.google.ie/search?q=", myMatchFilter, null);