androidtextviewspannable

How to get rid of the underline in a Spannable String with a Clickable Object?


I have a Spannable Object with a Clickable Object set to it. When the Spannable String is displayed in the TextView it has blue text and a blue underline (indicating to the user that this Text is Clickable). My problem is how can I prevent appearing the blue underline in TextView?


Solution

  • Use the below code and try

    String mystring =" Hello";
    SpannableString ss= new SpannableString(mystring);
    ss.setSpan(new MyClickableSpan(mystring), 0, ss.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
    
    class MyClickableSpan extends ClickableSpan{// extend ClickableSpan     
    
        String clicked;
        public MyClickableSpan(String string) {
            super();
            clicked = string;
        }
        @Override
        public void onClick(View tv) {
           Toast.makeText(MainActivity.this,clicked , Toast.LENGTH_SHORT).show();
        }
    
        @Override
        public void updateDrawState(TextPaint ds) {// override updateDrawState
            ds.setUnderlineText(false); // set to false to remove underline
        }
    }