【发布时间】:2011-04-18 20:02:19
【问题描述】:
我有一个Textview 位置:
例如。 “加利福尼亚州山景城”
我想要实现的是创建此文本以充当链接 - 颜色、下划线、可聚焦性等。
此链接不需要指向任何地方 - 周围的视图已附加 onClick 侦听器,可触发谷歌地图意图。
【问题讨论】:
标签: android hyperlink textview
我有一个Textview 位置:
例如。 “加利福尼亚州山景城”
我想要实现的是创建此文本以充当链接 - 颜色、下划线、可聚焦性等。
此链接不需要指向任何地方 - 周围的视图已附加 onClick 侦听器,可触发谷歌地图意图。
【问题讨论】:
标签: android hyperlink textview
这样的事情应该可以工作。
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() 来创建内部链接
【讨论】: