gpt4 book ai didi

java - 如何使 TextView 中的一个单词与字符串中的长文本可点击?

转载 作者:搜寻专家 更新时间:2023-11-01 08:53:49 25 4
gpt4 key购买 nike

我有一个关于在 Android 上用 Java 编码的小问题。

所以,我有一个 TextView,其中包含来自字符串的长文本。我只想让这个长文本中的一个词可点击,这样我就可以将它链接到另一个 Activity。

顺便说一句,我是 Android 开发的新手,所以请不要将您的解决方案解释得太复杂。谢谢! :)

我不知道,我怎么能做到这一点。我之前也用谷歌搜索过一个解决方案,但没有找到一个行之有效的明确方法。无论如何,我将感谢您的帮助。

最佳答案

您希望点击的结果是什么?

最简单的方法是应用 URLSpan到 TextView 的内容上,但是如果您想做一些除了查看网页之外的事情,您可以实现自己的 ClickableSpan 版本并让点击做任何你想做的事。

根据您的评论进行编辑:

让 ClickableSpan 转到另一个 Activity 非常简单,这是您需要的代码的开头:

public class MyURLSpan extends ClickableSpan {
Class<?> mClassToLaunch;

public MyURLSpan(Class<?> classToLaunch) {
mClassToLaunch = classToLaunch;
}

@Override
public void onClick(View widget) {
Intent intent = new Intent(widget.getContext(), mClassToLaunch);
widget.getContext().startActivity(intent);
}

@Override
public void updateDrawState(TextPaint ds) {
// If you don't want the default drawstate (blue-underline), comment this super call out.
super.updateDrawState(ds);
}
}

然后使用它:

String longText = "your text goes here...";

SpannableString textViewContents = new SpannableString(longText);
textViewContents.setSpan(new MyURLSpan(NextActivity.class), indexToStart, lengthOfClickArea, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

myTextView.setText(textViewContents);

关于java - 如何使 TextView 中的一个单词与字符串中的长文本可点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20749225/

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