2016-12-05 75 views
-3

假設我有一個textView「Register [here]」。我如何讓[這裏]點擊進入某個網頁?非常感謝Android Studio中的TextView單擊事件

+1

您可以使用textView.setOnClickListener()這個 – Swr7der

+0

,還可以使用2個textviews在你的UI,使第二個可點擊 – Swr7der

+0

但我怎樣才能使字符串可點擊的某個部分「在這裏」? –

回答

1

你可以用它點擊跨度...

private void setClickableSpan(){ 
    String text1="Register "; 
    String text2=" [here]"; 

    String mainText=text1+text2; 
    SpannableString ss = new SpannableString(mainText); 
    ClickableSpan clickableSpanTerms = new ClickableSpan() { 
     @Override 
     public void onClick(View textView) { 

      // Your code of navigating to webpage 
     } 
     @Override 
     public void updateDrawState(TextPaint ds) { 
      super.updateDrawState(ds); 
      ds.setColor(ContextCompat.getColor(getActivity(),R.color.colorHintLogin)); 
      ds.setUnderlineText(true); 
     } 
    }; 
    ss.setSpan(clickableSpanTerms, text1.length(), text1.length()+text2.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 




    yourTextView.setText(ss); 
    textAcceptTermAndCondition.setMovementMethod(LinkMovementMethod.getInstance()); 
    yourTextView.setHighlightColor(Color.TRANSPARENT); 
} 
+0

感謝您的代碼,但我在'R.color.colorHintLogin'出錯。什麼是colorHintLogin? –

+0

也只是爲了確認,我應該在'onCreate()'裏面添加這個部分? –

+0

@sabiha taskin:這是我的textview文本的顏色。您可以簡單地忽略此行或根據您的UI爲您的color.xml文件提供任何顏色。 – Beena