首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使部分字符串文本可点击?

如何使部分字符串文本可点击?
EN

Stack Overflow用户
提问于 2019-02-16 06:59:16
回答 1查看 789关注 0票数 0

单击部分String.xml文本时,如何显示对话框?我有一个长字符串,我想使字符串的一部分,以显示对话框时,它被点击。

现在,我不希望文本带我到一个链接,但它应该看起来像一个链接。然后,当单击文本时,它应该带我到对话框活动。文本也不应该像按钮一样出现。它应该看起来像一个链接文本,但它应该在clicked.Moreso时显示一个对话框,该对话框包含一系列字符串,以显示有关单击的文本的更多信息。

,这是我的String.xml

在新出生的时候,信徒预计会成长(一只宠物)。2:2).This成长来自我们的主和救主耶稣基督(2只宠物)的知识。谁是圣经的本质、实质和见证(约3:18)。5:39,陆。24:25-27、44-47)。我们希望教导耶稣的人,那是神的道(约1:1-17),在这样做的时候,要知道他为我们做了什么,我们在他里面做了什么,我们在他里面有什么。我们也寻求找出关于上帝的真理,通过观察向我们揭示上帝的耶稣(希伯)。1:1-3,2 Cor.4:3-4,Col.1:12-15)。此外,信徒也应在他的行为上荣耀神(哥林多前书1)。10:31)他要负责任,走在真实的自己的道路上。他将被奉献给上帝(罗马)。12:11)。我们祷告你们领受圣灵的智慧和启示,并且在我们一同努力学习这手册的过程中,增加知识和理解。祝福!

我想点击(1宠物)。( 2:2)显示一个对话框,其中包含圣经引用的信息。

EN

回答 1

Stack Overflow用户

发布于 2019-02-16 07:23:53

试着像这样

代码语言:javascript
复制
public void makeLinks(TextView textView, String[] links, ClickableSpan[] clickableSpans) {
        SpannableString spannableString = new SpannableString(textView.getText());
        for (int i = 0; i < links.length; i++) {
            ClickableSpan clickableSpan = clickableSpans[i];
            String link = links[i];

            int startIndexOfLink = textView.getText().toString().indexOf(link);
            spannableString.setSpan(clickableSpan, startIndexOfLink, startIndexOfLink + link.length(),
                    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
        textView.setMovementMethod(LinkMovementMethod.getInstance());
        textView.setText(spannableString, TextView.BufferType.SPANNABLE);
    }

在onCreate()方法中

代码语言:javascript
复制
 ClickableSpan yourstringClick = new ClickableSpan() {
            @Override
            public void onClick(View view) {
              openyourdialoghere()
            }
        };

        makeLinks(tvLink, new String[]{"your string"}, new ClickableSpan[]{
                yourstringClick
        });

编辑

用于多个字符串

代码语言:javascript
复制
ClickableSpan yourstringClick2 = new ClickableSpan() {
                @Override
                public void onClick(View view) {
                  openyourdialoghere()
                }
            };

            makeLinks(tvLink, new String[]{"your string","your string 2"}, new ClickableSpan[]{
                    yourstringClick,yourStringClick2
            });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54720682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档