2016-12-05 9 views
-3

私はtextView "[ここ]を登録"しているとします。特定のWebページに移動するにはどうすればクリック可能にするのですか?おかげでそんなにAndroidスタジオのTextViewクリックイベント

+1

あなたはこの – Swr7der

+0

ためtextView.setOnClickListener()を使用し、またあなたのUIで2 textviewsを使用し、二番目のクリック可能 – 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テキストの色です。この行を無視するか、color.xmlファイルの任意の色をUIごとに与えることができます。 – Beena

関連する問題