2011-10-07 3 views
5

に私がSpannableStringを使用してこの例を以下しています: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/text/Link.htmlURLSpanはSpannableString

私はR.string.text2しかしR.string.text2により、以下の「R.string.text1」を持っている文字列を作成しようとしています

SpannableString ss = new SpannableString(getString(R.string.text1)); 
ss.setSpan(new URLSpan(getString(R.string.text2)), 0, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

しかし、私は取得しています、私はすべてので文字列R.string.text2が表示されない

  1. です:URL形式(10個の文字を持っています)
  2. 最初の10文字のみURL形式です

問題を解決するにはどうすればよいですか?

+0

私はあなたが 'R.string.text1'と' R.string.text2'からconcated 'STRING'の' Spannable'を作成するために持っていると思います。そしてあなたはURLスパンを調整します。 –

答えて

1

SpannableString ss = new SpannableString(getString(R.string.text1+""+R.string.text2)); 
ss.setSpan(new URLSpan(getString(R.string.text2)), 0, getString(R.string.text2).length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 
2

は、私はあなたを補正してもよい。..この方法を試してみてください?

かなり遅く
SpannableString ss = new SpannableString(getText(R.string.text1)+" "+getText(R.string.text2)); 
ss.setSpan(new URLSpan(getString(R.string.text2)), 
    getString(R.string.text1).length()+1, 
    ss.length(), 
    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

が、少なくとも、他人のために行わあなたもこの方法でそれを行うことができます

を^^:

SpannableString ss1 = new SpannableString(getText(R.string.text1)); 
// do what you want with ss1 
SpannableString ss2 = new SpannableString(getText(R.string.text2)); // the text visible 
ss2.setSpan(new URLSpan(getString(R.string.text2)), // this is the link itself 
    0, 
    ss2.length(), // link on entire text 
    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

CharSequence csSS = TextUtils.concat(ss1, ss2); // import android.text.TextUtils; 
2

これは単なる基本的な作業を表示するために、より一般的な答えでありますURLSpanの例です。

enter image description here

// set up spanned string with url 
SpannableString spannableString = new SpannableString("Click here for more."); 
String url = "https://developer.android.com"; 
spannableString.setSpan(new URLSpan(url), 6, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

// set to textview 
textView.setText(spannableString); 
textView.setMovementMethod(LinkMovementMethod.getInstance()); // enable clicking on url span 
関連する問題