Android - LinkMovementMethod.getInstance() 当用户在 link 上释放滚动条时自动打开浏览器

Android - LinkMovementMethod.getInstance() open automatically browser when user release scroll on a link

这是一个可用性问题

我使用 LinkMovementMethod.getInstance() 允许文本视图滚动和 URLS 可点击(打开浏览器),问题是当用户在 [=44= 上释放滚动时,这会造成混乱] 它会自动打开 Google Chrome 浏览器,而不是什么都不做。每次滚动都会打开浏览器(因为有很多 links)。

所以,在打开浏览器之前,我想显示一个询问 "Do you want open the link?" 的对话框,我尝试了很多,但我无法识别任何听众

其他解决方案只有在单击和释放在同一时间执行时才打开浏览器link(在这种情况下更能保证用户没有进行任何滚动)

我也乐于接受其他建议

如您所见link很多

XML简述:

<etc.TextViewCustomizado
    android:layout_width="match_parent"
    app:nomeFonte="Cairo_Regular"
    android:textSize="17sp"
    android:id="@+id/textview"
    android:textColor="@android:color/black"
    android:textColorLink="@color/azul2escuro"
    android:layout_height="match_parent" />

因此,如您所见,它只是一个包含所有信息的文本视图,由以下人员传递:

textview.setText(Html.fromHtml(
       getResources().getString(R.string.lic1)
));
textview.setMovementMethod(LinkMovementMethod.getInstance());

资源R.string.lic:

<![CDATA[

    Programming libraries (Linguagens de programação)

    <br>

    <a href="https://github.com/rengwuxian/MaterialEditText">MaterialEditText</a>
    by
    <a href="https://github.com/rengwuxian">rengwuxian</a>
    licensed under
    <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>

    ..continues

谢谢

我找到了替代方法,使用 WebView

XML:

<LinearLayout
    ...>

    <WebView
        android:id="@+id/wv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
</LinearLayout>

Activity:

private WebView wv = (WebView) findViewById(R.id.wv);
wv.loadData(getResources().getString(R.string.lic1), "text/html; charset=utf-8",null);