Android使textview中的地图地址可点击,模式不匹配

时间:2013-06-04 07:04:12

标签: android email textview phone-number linkify

编辑以解决部分问题

我有一个TextView是ListView的子项。

现在,我想让这个TextView中的电话号码,电子邮件地址,地图地址变得可点击。

这是我在xml中的T​​extView

<TextView android:id="@+id/txtMsg" android:layout_below="@id/txtName" android:layout_toRightOf="@id/llMain" android:autoLink="all" android:layout_marginLeft="5dp" android:layout_marginTop="5dp" android:layout_width="200dp" android:layout_height="wrap_content" android:singleLine="false" android:textSize="13sp" android:textColor="#FF606060" android:lineSpacingExtra="3dp" android:text="" />

我的TextView将显示的字符串将是此示例地址(String中没有HTML代码)

这是我到目前为止所做的事情

String REG_PATTERN="\\D{2}[縣市]?(\\D+市區|鎮區|鎮市|[鄉鎮市區]).+[號](.+[樓])?";
String SAMPLE="I am in 臺北市信義區市府路1號";

TextView txtMsg=(TextView)findViewById(R.id.txtMsg);

...

Linkify.addLinks(txtMsg, Linkify.ALL);
Linkify.addLinks(txtMsg, Pattern.compile(REG_PATTERN), "geo:0,0?q=");

我测试了我的模式“\ D {2} [县市]?(\ D +市区|镇区|镇市| [乡镇市区])。+号?”用几个正则表达式在线测试网站中的SAMPLE字符串,并成功找到地址,证明我的模式是正确的。

但是当我使用相同的模式“\ D {2} [县市]?(\ D +市区|镇区|镇市| [乡镇市区])时,这很奇怪。+号?”在android中,它没有找到任何匹配。

唯一不同的是我使\\\\替换\以适合Java的转义字符。

请帮助我克服这一点,欢迎任何建议。

0 个答案:

没有答案