質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

4回答

3037閲覧

URLにアンダーバー『_』が入っている場合のリンクの設定

mmj10

総合スコア13

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

1グッド

0クリップ

投稿2017/08/14 09:14

###前提・実現したいこと
android開発初心者です。

現在、androidアプリの作成練習をしています。
アプリの中でリンクの設定をしたい部分があり、aタグを使ってリンクを設定しようと思ったところURLに『_』が入っているとaタグが効いてくれないことがわかりました。

『_』が入っていてもaタグでリンクを設定することは可能なのでしょうか。

##コード

textView.setText(Html.fromHtml("<a href=" + Link + ">" + Link + "</a>",Html.FROM_HTML_MODE_LEGACY));
textView2.setText(Html.fromHtml("<a href=" + Link2 + ">" + Link2 + "</a>", Html.FROM_HTML_MODE_LEGACY));

_が有る場合と無い場合
_有り無しの比較

ykcz👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

あてずっぽうで外している可能性が高いですが

「_」を「_」に置き換えてみてはいかがでしょうか?

HTML

1<a href="https://tera&#95;tail.com">https://tera&#95;tail.com</a> 2

投稿2017/08/15 08:06

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mmj10

2017/08/15 14:43

回答ありがとうございます。『&#95;』に置き換え試してみましたがリンク化はできませんでした。
mmj10

2017/08/15 15:01

申し訳ございません。yambejp様の「&#95;」に置き換える方法で解決いたしました。ありがとうございます。
mmj10

2017/08/15 15:20

問題点が別のところにありました。大変申し訳ございません。
guest

0

自己解決

問題点

xmlにて、
andtoid:autoLink="web"でリンク設定した場合は、アンダースコアがURLに含まれていると、
リンクの設定ができない事がわかりました。

解決方法

textView.setLinksClickable(true);
textView.setMovementMethod(LinkMovementMethod.getInstance());
上記のコードでリンク設定するとアンダースコアが含まれていてもリンクの設定することができました。

お騒がせしましまして申し訳ございませんでした。

投稿2017/08/15 15:33

mmj10

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

投稿2017/08/15 09:16

x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mmj10

2017/08/15 14:51

回答ありがとうございます。URLは、 例)abcd_efg.hi.com といったモノで試しにURLの「_」部分を「-」に変えてみましたが、意図するサイトへは接続できませんでした。
x_x

2017/08/16 04:27

Wikipediaは読みましたか? そもそもそういう名前を付けることが間違いということだったのですが。
guest

0

####この回答は誤りです。参考にしないでください

アンダースコアをURLエンコードしてはいかがでしょうか?
参考: 【Java】URLエンコード出来ない文字と対応方法

投稿2017/08/14 09:30

編集2017/08/14 14:43
s8_chu

総合スコア14731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mmj10

2017/08/14 10:45

回答ありがとうございます。アンダースコアはエンコード出来ないようです・・・。
s8_chu

2017/08/14 11:04

回答文に書いた参考のリンク先の手順を試してみてはいかがでしょうか?
mmj10

2017/08/14 11:11

リンク先には、 ->JavaでURLエンコードすると、*-_の3つの記号がエンコードされません。 ->この3つの記号をエンコードしたい場合は、以下のように自前でreplaceする必要があります。 ->_(アンダースコア)は、他言語でもURLエンコードしていないので、置き換えません。 と書いていたのですが、 ->String encodeStr = URLEncoder.encode("_", "UTF-8"); の1行でエンコードは出来ているのでしょうか。無知で申し訳ございません。
s8_chu

2017/08/14 14:43

この回答と先ほどのコメントは誤りです。間違った回答、コメントをしてしまい申し訳ありませんでした。
mmj10

2017/08/15 14:42

とんでもございません。新しく知識を得ることができ、感謝しております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問