如何合并一些spannable对象?

我将一个可以跨越的对象分成三部分,做不同的操作,然后我需要合并它们。

Spannable str = editText.getText(); Spannable selectionSpannable = new SpannableStringBuilder(str, selectionStart, selectionEnd); Spannable endOfModifiedSpannable = new SpannableStringBuilder(str, selectionEnd, editText.getText().length()); Spannable beginningOfModifiedSpannable = new SpannableStringBuilder(str, 0, selectionStart); 

我该怎么做? 我没有find所需的方法或构造函数来做到这一点。

3 Solutions collect form web for “如何合并一些spannable对象?”

谢谢,它的工作。 我注意到我可以合并3个可以跨越的对象:

 (Spanned) TextUtils.concat(foo, bar, baz) 

我知道这是旧的。 但修改kotlin stdlib后,我有这个代码:

 fun <T> Iterable<T>.joinToSpannedString(separator: CharSequence = ", ", prefix: CharSequence = "", postfix: CharSequence = "", limit: Int = -1, truncated: CharSequence = "...", transform: ((T) -> CharSequence)? = null): SpannedString { return joinTo(SpannableStringBuilder(), separator, prefix, postfix, limit, truncated, transform) .let { SpannedString(it) } } 

希望它可以帮助别人。

  • 在Android Studio中恢复LogCat窗口
  • Android SDK:获取原始预览相机图像而不显示它
  • closures自动提示的EditText?
  • 地图没有进入模拟器的android api v2
  • 刚刚上传的Android应用程序:应用程序在Android电子市场search中显示多久?
  • 从XML资源创buildhashmap / map
  • strings.xml中的错误:invalid symbol'continue'
  • 下载/caching谷歌地图离线使用
  • 在Android中的标签中启动活动
  • 无法在圈子ci中findcom.android.tools.build:gradle:3.0.0-alpha1
  • Android Studio Gradle:错误:任务“:app:processDebugGoogleServices”的执行失败。 >找不到匹配的客户端软件包