Android – SPAN_EXCLUSIVE_EXCLUSIVE跨度不能有零长度
我有以下布局(几乎为空):
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/set_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:contentDescription="content desc" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a TextView" /> </LinearLayout>
Activity类包含以下内容:
public class TestActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); } }
当我在移动设备上运行时,出现以下错误:
SpannableStringBuilder SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
我已经尝试过,没有TextView和错误仍然存在,我必须做一些根本的错误,这样的基本布局,导致这一点。
有没有人有任何想法,我怎么能得到这个加载没有错误?
我遇到了LogCat中的相同错误条目。 在我的情况下,这是由我使用的第三方键盘造成的。 当我将其更改回Android键盘时,错误条目不再显示。
由于您收到的错误与EditText
无关,因此与您的键盘无关。
你得到的错误不是你的代码的结果; 您可能正在使用三星TouchWiz的三星设备进行testing。
我有同样的错误,然后我testing了一个Nexus S(也是由三星,但纯粹的Android操作系统没有TouchWiz),我没有得到这个错误。
所以,就你的情况而言,只需在设备上testing时忽略这些错误! 🙂
看看你的代码,我不知道为什么你会得到这个错误,但我有同样的错误,但与EditText字段。
将android:inputType="text"
(或任何其他inputType文本变体)更改为android:inputType="textNoSuggestions"
(或者android:inputType="textEmailAddress|textNoSuggestions"
)。
你也可以在Code中用类似的东西来设置它
mInputField.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
看起来像Android默认情况下,EditText字段将有build议。 当他们不这样做的时候,这个错误。 对这个解释并不是100%的信心,但是上面提到的变化给我解决了这个问题。
http://developer.android.com/reference/android/text/Spanned.html#SPAN_EXCLUSIVE_EXCLUSIVE
希望这可以帮助!
在你的android手机上去:
设置 – >应用程序pipe理器 – >全部 – >三星键盘,然后点击“清除caching”
(删除此应用程序收集的所有数据)。
尝试使用默认的Android键盘将会消失
明确你已经在你的MainAcitivity中传递了一个值onCreateOptionsMenu和onCreate
在某些情况下,开发人员删除“return super.onCreateOptionsMenu(menu)”语句并将其更改为“返回true”。
我有同样的警告,发现删除一个未使用的@ID摆脱了警告。 对我来说,很显然,@id与链接到数据库的textView链接越来越多,所以每个条目都有一个警告。
马苏德Moshref是正确的,这个错误发生,因为菜单的选项菜单没有准备好通过在onCreate()方法“返回super.onCreateOptionsMenu(菜单)”。
要尝试debugging这个错误,首先去你的androidterminal/控制台并执行这个命令:
ps | grep THE_ERROR_PID_YOU_GET_(IT_IS_A_NUMBER)
那么如果输出作为你的应用程序出来…这是你的应用程序导致错误。 尝试查找您传递到layout
空Strings
。
我有这个完全相同的问题,这是我的错,因为我传递一个空的String
到我的布局。 将""
更改为""
,此错误消失。
如果你没有从控制台的输出中获取你的应用程序,那么这是其他的东西造成的(也许,正如其他人所说,android键盘)
我面临同样的问题。 我几乎浪费了几个星期来解决这个问题。 最后,我对自己有疑问,试图通过复制和粘贴一些启动文件(如SplashScreen&LoginScreen)来创build另一个项目。
但是使用相同的代码,我还是得到了SPAN_EXCLUSIVE_EXCLUSIVE 。
然后我已经从启animation面中删除处理程序代码,并再次尝试和哇的工作。 我没有得到logcat的 SPAN_EXCLUSIVE_EXCLUSIVE问题。
我想知道,为什么? 直到时间没有得到任何其他的解决办法,但通过从启animation面删除处理程序正在工作。
如果解决不了,请尝试更新。
检查是否有任何元素,如button或文本视图复制(复制两次)在遇到此屏幕。 我没有注意到这一点,不得不面对同样的问题。
当我从互联网复制一些文本时,我也遇到了这个问题。 我的解决scheme是在进行任何进一步处理之前修剪文本/删除格式。
我有同样的问题,但与listView ….我解决了它,因为我使用了一个错误的R.id.listView列表视图需要有一个值,在我的情况下,它是我保存在listView2上的string…所以正确的代码是R.id.listView2
我有同样的问题,然后我通过下面的代码修复它!
text = (EditText)findViewById(R.id.TextVoiceeditText); text.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
我也在Logcat中面对这个错误。 为了解决这个问题,也需要1天,但是我们的代码没有任何大的错误。
解决scheme:在应用程序的Manifest.xml文件中添加该活动。
码:
<activity android:name="com.example.youappname.activityname" > </activity>
像这样在Manifest中添加应用程序的所有活动。
尝试并解决错误。
- 意外的顶级例外:com.android.dex.DexException:多个dex文件定义
- 错误:没有这样的属性:GROUP for class:org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer
- Android的USB反向共享:如何欺骗应用程序
- Cache.properties(系统找不到指定的文件)
- 如何让ndk-gdb在Android上工作?
- 如何closuresAndroid应用程序?
- Android imageView放大和缩小
- Android的EditText提示大小
- 错误:BinderProxy @ 45d459c0无效; 你的活动正在运行?