gpt4 book ai didi

Android:将 "internal"链接添加到 TextView 的一部分,链接到我的代码中的操作

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:01:42 25 4
gpt4 key购买 nike

正如标题所解释的,我想添加指向我的 TextView 的链接,但需要注意以下两点:

  • 我希望链接作用于 TextView 的一部分,而不是完整的(类似于 HTML 中的 A anchor )。

  • 我希望链接指向我的代码中的一个操作,而不是网站。我可以在我的 Activity 中定义一个方法,或者实现一个 OnClickListener,并在单击该特定链接时执行它。

到目前为止,我使用以下方法成功地将电话号码、地址、网站和电子邮件转换为专用外部链接:

Linkify.addLinks(message, Linkify.ALL);

我想要类似的内部链接(到我的方法),并有可能定义自定义链接。

此外,使用带有内部链接和 Web View 的网页并不是一个真正的选择,因为我已经定义了几个复杂的布局,并且必须修改整个应用程序和概念会非常痛苦......

有什么想法吗?

编辑: Kabuko 给了我一个很好的解决方案,下面是我如何实现它的:

final TextView descriptionTextView = (TextView) findViewById(R.id.description);
final Spannable span = Spannable.Factory.getInstance().newSpannable("the full text for the view");
span.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(StartEventActivity.this, "LINK CLICKED", Toast.LENGTH_SHORT).show();
}
}, 1, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // 1 and 20 to be replaced with actual index of start and end of the desired link
descriptionTextView.setText(span);
descriptionTextView.setMovementMethod(LinkMovementMethod.getInstance());

最佳答案

如果你真的想访问 URL,你可以使用 Html.fromHtml , 但如果你想要自己的点击处理程序,你可以使用 ClickableSpan .

关于Android:将 "internal"链接添加到 TextView 的一部分,链接到我的代码中的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8949520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com