Java Android-SPAN_EXCLUSIVE_EXCLUSIVE SPAN的长度不能为零
我有以下布局(实际上是空的): 当我在我的移动设备上运行此操作时,会出现以下错误:Java Android-SPAN_EXCLUSIVE_EXCLUSIVE SPAN的长度不能为零,java,android,Java,Android,我有以下布局(实际上是空的): 当我在我的移动设备上运行此操作时,会出现以下错误: SpannableStringBuilder SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 我尝试过使用和不使用TextView,错误仍然存在,我必须做一些根本错误的事情,这样一个基本的布局才会导致这种情况 有人知道我如何才能在没有错误的情况下加载此文件吗?查看您的代码,我不知道您为什么会出现此错误,但我遇到了相同的错误,但使用了EditTex
SpannableStringBuilder
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
我尝试过使用和不使用TextView,错误仍然存在,我必须做一些根本错误的事情,这样一个基本的布局才会导致这种情况
有人知道我如何才能在没有错误的情况下加载此文件吗?查看您的代码,我不知道您为什么会出现此错误,但我遇到了相同的错误,但使用了EditText字段 将
android:inputType=“text”
(或任何其他inputType文本变体)更改为android:inputType=“textNoSuggestions”
(或android:inputType=“textEmailAddress | textNoSuggestions”
(例如)为我修复了它
您还可以在代码中使用以下内容设置
mInputField.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
看起来Android默认假定EditText字段会有建议。如果他们不这样做,那就是错误。不是100%相信这个解释,但是上面提到的改变为我解决了这个问题
希望这有帮助 我在LogCat中遇到了相同的错误条目。就我而言,这是由我使用的第三方键盘造成的。当我将其更改回Android键盘时,错误条目不再显示。尝试使用默认的Android键盘,它将消失。我收到了相同的警告,并发现删除未使用的@id可以消除该警告。对我来说,很明显,@id与链接到数据库的文本视图的不断增加的列表相关联,因此每个条目都有一个警告。因为您得到的错误与
编辑文本
无关,所以它与键盘无关
你得到的错误不是你代码的结果;您可能正在使用三星TouchWiz的三星设备进行测试
我也有同样的错误,然后我在NexusS上测试(同样是三星的,但是没有TouchWiz的纯Android操作系统),我没有发现这个错误
因此,在您的情况下,在设备上测试时忽略这些错误!:) 我也面临同样的问题。我几乎浪费了几个星期来解决这个问题。 最后,我怀疑自己,并试图通过复制和粘贴一些启动文件(如SplashScreen&LoginScreen)来创建另一个项目 但是用同样的代码,我还是得到了SPAN_独占的 然后,我从闪屏上删除了处理程序代码,并再次尝试,效果令人惊叹。 我没有收到logcat中的SPAN_EXCLUSIVE\u EXCLUSIVE问题 我想知道,为什么会这样?直到那时,还没有得到任何其他解决方案,但通过从初始屏幕上删除处理程序,它正在工作
如果问题已解决或未解决,请尝试在此处更新。在您的android手机上转到:
设置->应用程序管理器->全部->三星键盘,然后单击“清除缓存”
(删除此应用程序收集的所有数据)。请明确您已在MainActivity中为以下方法传递了一个值OnCreateOptions菜单和onCreate
在某些情况下,开发人员会删除“return super.oncreateoptions menu(menu)”语句,并将其更改为“return true”。检查在遇到此问题的屏幕中是否复制了按钮或文本视图等元素(复制了两次)。我没有注意到这一点,不得不面对同样的问题。Masood Mosref是对的,发生此错误的原因是菜单的选项菜单没有准备好,因为onCreate()方法中缺少“return super.onCreateOptions menu(menu)”。要调试此错误,请首先转到android终端/控制台并执行以下命令:
ps | grep THE_ERROR_PID_YOU_GET_(IT_IS_A_NUMBER)
然后,如果输出显示为您的应用程序。。。是您的应用程序导致了错误。尝试查找传递到布局中的空字符串
我遇到了完全相同的问题,这是我的错,因为我将一个空的字符串
传递到我的布局中。将“
更改为”
后,此错误消失
如果您没有从控制台输出获取应用程序,那么是其他原因造成的(可能如其他人所说,是android键盘)我从互联网复制一些文本时也遇到了这个问题。我的解决方案是在进行任何进一步处理之前修剪文本/删除格式 我也有同样的问题,但是有一个listView。。。。我解决了这个问题,因为我使用了一个错误的R.id.listView,列表视图需要有一个值,在我的例子中,是我保存在listView2上的字符串。。。所以正确的代码是R.id.listView2我有同样的问题,然后我通过以下代码修复了它
text = (EditText)findViewById(R.id.TextVoiceeditText);
text.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
由于更改了API URL,也会发生此错误。尝试点击你在postman和c中使用的URL,如果它工作正常的话。
重新检查API解决了我的问题尝试避免在xml设计中使用视图。我也有同样的问题,但当我删除视图时。它工作得很好
例如:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:inputType="number"
android:textColor="#fff" />
<view
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#f9d7db" />
另外,请检查并尝试通过反复试验将android:inputType=“number”更改为android:inputType=“text”,如果不需要,最好不要使用它。有时键盘卡住,在某些设备中出错
这对我很有效…在每一台设备上
在我的例子中,inputType为text/textCapCharacters的EditText字段将此错误隐藏起来。每当我使用backspace完全删除在这些字段中键入的文本时,我都会在logcat中注意到这一点
对我有效的解决方案是将这些字段的输入类型更改为textnosuggests,因为这是最合适的类型,不会再给我任何不必要的错误。在我的情况下,我在手机上单击“最近的应用”快捷方式并关闭所有应用。此解决方案始终适用于我,因为此错误与
text = (EditText)findViewById(R.id.TextVoiceeditText);
text.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:inputType="number"
android:textColor="#fff" />
<view
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#f9d7db" />
<EditText
android:maxLines="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="15sp"
android:layout_centerVertical="true"
android:textColor="#000"
android:id="@+id/input_search"
android:background="@null"
android:inputType="text"
android:hint="Enter Address, City or Zip Code"
android:imeOptions="actionSearch"
/>
mSearchText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) {
if(actionId == EditorInfo.IME_ACTION_SEARCH
|| actionId == EditorInfo.IME_ACTION_DONE
|| keyEvent.getAction() == KeyEvent.ACTION_DOWN
|| keyEvent.getAction() == KeyEvent.KEYCODE_ENTER){
//execute our method for searching
}
return false;
}
});