[解決済み] TextViewのリンクをクリック可能にする方法
2022-03-20 10:19:44
質問
以下のようなTextViewが定義されています。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/txtCredits"
android:autoLink="web" android:id="@+id/infoTxtCredits"
android:layout_centerInParent="true"
android:linksClickable="true"></TextView>
ここで
@string/txtCredits
を含む文字列リソースです。
<a href="some site">Link text</a>
.
Android は TextView 内のリンクをハイライトしていますが、クリックに反応しません。何か間違ったことをしているのでしょうか? このように単純なことでも、アクティビティ内のTextViewにonClickListenerを設定する必要があるのでしょうか?
文字列リソースの定義の仕方に関係があるようです。
これはうまくいきません。
<string name="txtCredits"><a href="http://www.google.com">Google</a></string>
しかし、これはそうです。
<string name="txtCredits">www.google.com</string>
私は完全なURLを表示するよりも、テキストリンクを表示したいので、これは残念なことです。
解決方法は?
APIデモの中に、私の問題を解決する方法が隠されていたのです。
ファイル リンク.java :
// text2 has links specified by putting <a> tags in the string
// resource. By default these links will appear but not
// respond to user input. To make them active, you need to
// call setMovementMethod() on the TextView object.
TextView t2 = (TextView) findViewById(R.id.text2);
t2.setMovementMethod(LinkMovementMethod.getInstance());
デモの内容と一致するように、TextViewの属性のほとんどを削除しました。
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txtCredits"/>
これで解決しました。発覚して修正するのは結構大変です。
重要なこと
: を削除することを忘れないでください。
autoLink="web"
を呼び出している場合
setMovementMethod()
.
関連
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
[解決済み] TextViewのtextStyle(太字、斜体など)を設定する方法
-
[解決済み] Androidのテキストビューの周りにボーダーを付けるには?
-
アプリの実行エラー。ターゲットデバイスが見つからない問題
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] AndroidでTextViewをスクロール可能にする
-
[解決済み] TextViewにHTMLを表示するには?
-
[解決済み】AndroidでTextViewのfontFamilyを変更する方法
-
[解決済み] Android TextView with Clickable Links: クリックをキャプチャする方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Android.mk:7: *** セパレータがありません。
-
AndroidStudio3.0 Error:Execution failed for task ':app:processDebugResources'.
-
GIF、Lottie、SVGA
-
Androidで発生した問題、解決策とヒント
-
アンドロイドプロジェクトのパッケージングにgradleを使用する際の問題点
-
Android のパッケージングに失敗し、Android リソースのリンクに失敗したことを示すプロンプトが表示される
-
IllegalStateException。ArrayAdapter は、リソース ID が TextView である必要があります。
-
Android ProgressBarのスタイルカラーを変更する
-
AndroidでListViewを使ってカスタムテーブルを描画する
-
[解決済み】テキスト表示の一部をクリックできるように設定する方法