我是使用Java进行Android开发的新手,正在开发一个在TextView中具有多个SpannableStrings的应用程序。这样我可以以不同的方式处理每个字符串。一旦在TextView中添加了多个SpannableStrings,我就遇到问题了,如何获得这些SpannableStrings的列表?我可以使用ClickSpan来获取click事件,但看不到添加SpannableStrings列表的方法。我需要SpannableString使用ClickSpan以编程方式触发点击事件。很抱歉使用任何非技术术语。下面是我的代码。

谢谢。

  for(int i =0;i<list.size();i++) {
        ClickableSpan span = new ClickableSpan() {
            @Override
            public void onClick(View widget) {
                //
                }
            }
            @Override
            public void updateDrawState(TextPaint ds) {
                ds.setColor(ds.linkColor);
                ds.setUnderlineText(false);
                ds.setColor(Color.rgb(0, 0, 0));
            };


        SpannableString spannableString = new SpannableString(list.get(i));
        spannableString.setSpan(span, 0, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        spannableStrings.add(spannableString);
        view.append(spannableString);

    }

最佳答案

如何做到这一点:

SpannableStringBuilder spannableString = (SpannableStringBuilder) textView.getText();
Object[] allSpans = spannableString.getSpans(0, textView.getText().length(), Object.class);

关于java - 如何获取在Android(Java)的textview中添加的SpannableStrings列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51161337/

10-09 07:20