Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-SPAN_EXCLUSIVE_EXCLUSIVE SPAN的长度不能为零_Java_Android - Fatal编程技术网

Java Android-SPAN_EXCLUSIVE_EXCLUSIVE SPAN的长度不能为零

Java Android-SPAN_EXCLUSIVE_EXCLUSIVE SPAN的长度不能为零,java,android,Java,Android,我的以下布局实际上是空的: <?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"

我的以下布局实际上是空的:

<?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>
当我在我的移动设备上运行此操作时,会出现以下错误:

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与链接到数据库的文本视图的不断增加的列表相关联,因此每个条目都有一个警告。

因为您得到的错误与EditText无关,所以它与您的键盘无关

你得到的错误不是你代码的结果;您可能正在使用三星TouchWiz的三星设备进行测试

我也有同样的错误,然后我也在三星的NexusS上测试了,但是没有TouchWiz的纯Android操作系统,我没有得到这个错误


因此,在您的情况下,在设备上测试时忽略这些错误!:

我也面临同样的问题。我几乎浪费了几个星期来解决这个问题。 最后,我怀疑自己,并试图通过复制和粘贴一些启动文件(如SplashScreen&LoginScreen)来创建另一个项目

但是用同样的代码,我还是得到了SPAN_独占的

然后,我从闪屏上删除了处理程序代码,并再次尝试,效果令人惊叹。 我在logcat中没有收到SPAN_独家发布的消息

我想知道,为什么会这样?直到那时,还没有得到任何其他解决方案,但通过从初始屏幕上删除处理程序,它正在工作


如果问题已解决或未解决,请尝试在此处更新。

在您的android手机上,转到: 设置->应用程序管理器->全部->三星键盘,然后单击清除缓存
删除此应用程序收集的所有数据。

请明确您已在MainActivity中为以下方法传递了一个值OnCreateOptions菜单和onCreate


在某些情况下,开发人员会删除return super.oncreateoptions menumenu语句,并将其更改为return true。

检查是否有任何元素(如按钮或文本视图)在遇到此问题的屏幕中复制了两次。我没有注意到这一点,不得不面对同样的问题。

Masood Mosref是对的,出现此错误是因为菜单的选项菜单没有准备好,在onCreate方法中缺少return super.onCreate options menumenu。

要尝试调试此错误,首先转到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中注意到这一点



对我有效的解决方案是将这些字段的输入类型更改为textNoSuggestions,因为这是最合适的类型,不会再给我任何不必要的错误。

在我的情况下,我在手机上单击“最近的应用”快捷方式并关闭所有应用。此解决方案始终适用于我,因为此错误与代码无关。

检查LogCat并查看与错误相关的堆栈跟踪。如果它确实来自此应用程序,请将整个堆栈跟踪作为对您的问题的编辑发布。另外,我将从LinearLayout中删除android:contentDescription,因为该容器不可聚焦,因此该描述将不会立即使用。感谢您的回复。不幸的是,这个错误没有堆栈跟踪,输出与我上面发布的完全相同,但是LogCat中的application字段确实指向我的应用程序。我已经调试了代码并逐行检查了每一行,没有抛出任何错误,因此它一定是在Android代码中的某个地方,期望出现一些不存在的错误。我也想知道如何避免这个恼人的错误,而不删除/禁用终端用户的任何功能。我将手机重置为出厂设置,然后它就消失了,在尝试了“三星键盘修复程序”之后,它似乎没有给我带来任何好处……也许这根本不是问题,但升级到Android 4.1.1之后,我在类似这样的日志中看到了很多错误。SPAN_EXCLUSIVE_EXCLUSIVE SPAN不能为零长度谢谢。但是,即使删除了TextView并且只有布局存在,我也会得到错误。这很奇怪。从LinearLayout中删除contentDescription没有帮助?不,很遗憾没有。尽管经过进一步调查,错误似乎只在三星设备上显示。这是你的键盘,在你的情况下可能是TouchWiz的键盘。我在使用快捷键的Nexus 4上也有同样的错误,如果我选择默认的Android键盘,错误就消失了。键盘肯定会导致这个错误,但如果没有使用或调用键盘,即没有EditText,我看不出键盘怎么会是问题的根源。当我在两个不同的活动之间切换时,都没有EditText,每次我去其中一个活动时都会收到错误。我同意Cookiki的观点,错误是由于三星TouchWiz造成的,它不会导致任何问题,除了在logcat中吐出错误。我们不能忽略错误,因为它只发生在TouchWiz上,至少要向三星报告TouchWiz有问题。我可以肯定的是,它不会与EditText相关。我在显示带有一些标题的PreferenceFragment时出现了这个错误——没有文本框或类似的东西。每次更改一个PreferenceFragment时,我都会收到两条错误消息。从三星键盘切换到Smart Keyboard Pro,错误信息停止。谢谢@Rabi,甚至我也切换到了swiftkey并开始出现错误。我在Nexus 7 2012版上使用股票Android键盘时出现了错误,在Galaxy S4上运行4.3,4.4.2-切换回股票三星键盘为我修复了这一问题。非常感谢。不幸的是,上面@Rabi的链接不再好了。但是谢谢你。我确实在使用快捷键,2年后它似乎仍然会导致此问题。此问题与Gboard一起出现!同样,它来自GoogleWow,该应用程序缓存了68MB的内容如何使用默认键盘。您必须在手机输入设置中更改它。如果你没有改变它,你应该有默认的键盘。使用默认键盘是一个非常有趣的解决方案,但它对我来说很有用..:p默认安卓键盘也有问题,我在Nexus 5上有,谢谢。工作起来就像charmit的听众是一个mustHello朋友,在我的屏幕上不使用任何编辑文本,只使用线性布局和按钮。当我在表4.1.2上运行应用程序时,我面临同样的问题。
             <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;
        }
    });