天天看點

Android 指定字元串添加下劃線與改變顔色

String str = "前往門市前請先确認";
                String changeText="确認";
                SpannableString spanText = new SpannableString(str);
               // int start = str.indexOf(changeText);
               // int end = start + changeText.length();
                int start = 0;
                int end = 0;
                if (str.indexOf(changeText) == -1) {
               // 沒有指定字元串的時候不處理,以免找不到數組越界
                } else {
                    start = str.indexOf(changeText);
                    end = start + changeText.length();
                }
                spanText.setSpan(new ClickableSpan() {
                    @Override
                    public void updateDrawState(TextPaint ds) {
                        super.updateDrawState(ds);
                      //設定檔案顔色
                        ds.setColor(Color.parseColor("#000000"));      
                      //設定下劃線
                        ds.setUnderlineText(true);    
                    }

                    @Override
                    public void onClick(View view) {
                    }
                }, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                 //設定點選後的顔色為透明,否則會一直出現高亮
                textView.setHighlightColor(Color.TRANSPARENT);
                textView.setText(spanText);
                textView.setMovementMethod(LinkMovementMethod.getInstance());
           

 改變指定字元串顔色以及增加下劃線,周遊字元串沒有找到指定的字元串報數組越界的問題

String index out of range: -1