【问题标题】:Android - How to handle when the link is clicked on TextView via LinkifyAndroid - 如何通过 Linkify 在 TextView 上单击链接时处理
【发布时间】:2014-04-03 13:35:54
【问题描述】:

我想在 TextView 上单击链接时做一些额外的动作。

TextView 上的链接是通过 xml 设置或使用 Linkify 类创建的。喜欢android:autoLink="true"Linkify(textView, Linkify.WEB_URLS);

点击链接时如何捕捉事件?

【问题讨论】:

  • 使用这个 android:autoLink="true"
  • @shinisuba 我知道,我知道。我已经写过这个问题。我的问题是我怎样才能赶上这个事件。单击链接时,我想添加其他功能。
  • 您希望整个文本内容都可点击吗?
  • @ManishMulimani,当用户单击链接并执行网络浏览器时,我想设置一个语句(如isClicked = true)。 @Manish

标签: android textview linkify


【解决方案1】:

而不是 Linkify 库,使用以下代码:

final boolean[] isClicked = {false};
final AppCompatActivity activity = getActivity();//or use 'this' if already in an activity 
textView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        isClicked[0] = true;
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(textView.getText().toString()));
        activity.startActivity(intent);
    }
});

请注意,我已将您原来的 boolean isClicked 替换为 boolean[] isClicked。这是因为您只能在内部类中使用 final 变量,并且一旦 isClicked 最终确定,您就无法重新分配它。

【讨论】:

    猜你喜欢
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 2010-12-14
    • 1970-01-01
    • 2020-10-17
    • 1970-01-01
    • 2019-08-11
    相关资源
    最近更新 更多