如何使文本视图中的单词可点击/启动代码



我在网上看到的大多数答案都是关于如何将a href标签添加到文本中,这样当你点击文本中的一个单词时,你就可以启动一个网站。

我正在尝试制作它,这样你点击一个单词,它就会通过Intent进入你的应用程序的一部分,向下滚动到正确的位置(在这种情况下,是我的设置/首选项页面的特定部分,位于特定的首选项标记处)。

旧的答案谈到使用getListView()来自动滚动,但这是针对使用PreferenceActivities的旧框架(而现在我使用Activity并调用PreferenceFragment)。

您可能想要使用ClickableSpan。要使文本的段落可点击,你可以使用这样的方法,但有多种方法可以将可点击的跨度应用于文本。

    String text = textView.getText();
    Spannable spannable = new SpannableString(text);
    String passage = "xy"; // the substring you want to make clickable in the text
    int index = text.indexOf(passage); //can return -1 if passage is not in the text (ignored this for the purpose of this example)
    spannable.setSpan(new ClickableSpan() {
        @Override
        public void onClick(View widget) {
            //your code here
        }
    }, index, index + passage.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE);
    textView.setText(spannable);

你应该以某种方式向读者展示这篇文章是可以点击的。例如,使用下划线平移。

要使特定单词可点击,请使用SpannableString类,然后在文本中使用它。在onClick()中选中此链接,您可以尝试打开活动,同时向该活动传递一些信息,以便了解该做什么,例如创建列表,然后滚动到特定项目

最新更新