我有Textview
與位置:如何創建將充當鏈接的TextView
例如, 「加州山景」
我想實現的是創建這個文本像一個鏈接 - 顏色,下劃線,可聚焦性等
此鏈接不需要任何地方直接 - 周邊觀點有附加了觸發谷歌地圖意圖的onClick監聽器。
我有Textview
與位置:如何創建將充當鏈接的TextView
例如, 「加州山景」
我想實現的是創建這個文本像一個鏈接 - 顏色,下劃線,可聚焦性等
此鏈接不需要任何地方直接 - 周邊觀點有附加了觸發谷歌地圖意圖的onClick監聽器。
像這樣的東西應該工作。
TextView location = (TextView) findViewById(R.id.location);
location.setMovementMethod(LinkMovementMethod.getInstance());
Spannable spans = (Spannable) location.getText();
ClickableSpan clickSpan = new ClickableSpan() {
@Override
public void onClick(View widget)
{
//put whatever you like here, below is an example
AlertDialog.Builder builder = new Builder(MainActivity.this);
builder.setTitle("Location clicked");
AlertDialog dialog = builder.create();
dialog.show();
}
};
spans.setSpan(clickSpan, 0, spans.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
在ApiDemos中有一個可以解決您的問題的例子。退房com.example.android.apis.text.Link
班,可能有幫助。以下是部分代碼:
TextView t3 = (TextView) findViewById(R.id.text3);
t3.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."));
t3.setMovementMethod(LinkMovementMethod.getInstance());
tv.setMovementMethod(LinkMovementMethod.getInstance());
,如果你沒有得到點擊回調
你可以使用Spannable
類mTextView.scollTo()
創建內部鏈接
你的答案是工作的罰款。但它顯示全文作爲鏈接。如何使鏈接部分應該是可點擊的而不是全文。 – 2016-08-07 10:47:36
@iDroidExplorer在最後一行,將0,spans.length()更改爲您希望可點擊的字符串的範圍。 – ageektrapped 2016-08-14 19:27:57
不錯。非常感謝。 – 2016-08-17 05:32:30