我需要能夠爲應用程序中的TextView創建鏈接,但鏈接指向的實際URL需要動態添加。在TextViews中動態創建鏈接
通過這裏SO的研究,我發現下面的代碼:
textView.setText(Html.fromHtml(
"<b>text3:</b> Text with a " +
"<a href=\"http://www.google.com\">link</a> " +
"created in the Java source code using HTML."));
textView.setMovementMethod(LinkMovementMethod.getInstance());
據稱這將設置在TextView的,因爲它會在HTML的鏈接。這正是我需要做的,但我需要的URL是動態的,基於將傳遞到setText()
的字符串變量。我如何輕鬆地去做這件事?
澄清:我想顯示單詞「網站」是一個鏈接,我需要鏈接指向的URL根據將用戶引導到該視圖的特定路徑進行動態更新。
謝謝!
編輯:這裏是更新後的代碼:
String linkedText = "<b>text3:</b> Text with a " +
String.format("<a href=\"%s\">link</a> ", WEB) +
"created in the Java source code using HTML.";
web.setText(Html.fromHtml(linkedText));
web.setMovementMethod(LinkMovementMethod.getInstance());
這裏是TextView中的XML:
<TextView
android:id="@+id/vWeb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/vPhone"
android:layout_marginTop="5dp"
android:layout_toRightOf="@+id/webIcon"
android:paddingLeft="1dp"
android:autoLink="web"
android:textIsSelectable="true" />
這只是添加單詞「鏈接」的TextView,但不會使它可點擊。 – user2163853
我沒有意識到這是你問題的一部分。在將它複製到我自己的項目之後,我運行了上面的代碼,它似乎工作正常。 TextView上方是否存在可能攔截點擊的非可見視圖? – Brian
不,我不這麼認爲。實施此鏈接時甚至不會顯示鏈接。 – user2163853