在Android中查找链接非常简单,您可能听说过
Linkify ,这是一个很棒的类,其中有许多静态方法可以完成简单的工作,但问题是在
Linkify中您无法指定单击链接时所需的行为最重要的是,Linkify所做的只是根据您提供的“模式”查找链接,并添加“方案”字符串以完成URL,并创建了用于启动浏览器的Android目的。
Linkify行为不能被覆盖,因为
Linkify类中的所有方法都是static final。
这个问题启发了我创建一个自定义TextView小部件,该小部件用于收集我的场景中的链接,我也对其进行了编程,以收集以“ @”和“#”开头的字符串,但是可以通过简单地更改您需要的模式,并为其提供适当的正则表达式。
LinkEnableTextView类是这样的:
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.content.Context;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ClickableSpan;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
public class LinkEnabledTextView extends TextView
{
// The String Containing the Text that we have to gather links from private SpannableString link