Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.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/0/docker/10.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,我有以下布局(实际上是空的): 当我在我的移动设备上运行此操作时,会出现以下错误: 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;
        }
    });