0

問題の一部を解決するために編集

TextView は ListView のサブアイテムです。

ここで、この TextView 内の電話番号、メール アドレス、地図の住所をクリックできるようにしたいと思います。

これはxmlの私のTextViewです

<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が表示する文字列は、このサンプルアドレスのようになります(文字列内に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 のエスケープ char に合わせ\\\\て置換するように作られていることだけです。\

これを克服するために私を助けてください、どんな提案も大歓迎です。

4

0 に答える 0