单击链接的TextView滚动ScrollView

时间:2015-02-12 12:31:32

标签: android android-layout textview

我的ScrollView包含TextView。我{/ 1}}部分TextView with

linkify

我在 Pattern pattern = Pattern.compile("MyLink"); Linkify.addLinks(textView1, pattern, "mylink://"); 的清单中有Intent filter,因此点击mylink://时会打开一个新的Activity(如this question中所述)。 大部分时间都可以使用此功能,有时虽然点击MyLink的{​​{1}}部分无法打开活动但只会滚动MyLink所在的TextView到顶部。

此行为来自何处以及如何解决?

2 个答案:

答案 0 :(得分:0)

如果您尝试打开导致当前活动的链接,则可能正在重新创建相同的活动,并让人感觉它正在向上滚动。您可能希望修改清单并将活动的launchMode属性设置为singleTask

答案 1 :(得分:0)

为什么不使用TextViewWithLinks

有了这个,你可以在textview上点击两种类型,

<强> 1。在TextView上

<强> 2。在链接TextView

String text = "bananas on www.bananas.ba and  <a href=\"http://google.com/\">Google</a>";

    TextViewWithLinks textview = new TextViewWithLinks(this);
    textview.setText(Html.fromHtml(text));
    textview.linkify(new TextViewWithLinks.OnClickLinksListener() {
        @Override
        public void onTextViewClick() {
            // Do whatever you want
        }

        @Override
        public void onLinkClick(String url) {
            // Do whatever you want
        }
    });

    //SET Colors
    textview.setLinkColors(Color.RED, Color.BLACK);

    setContentView(textview);

如果这不能解决您的问题,请告诉我。

享受编码......:)