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

<?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和错误仍然存在,我一定是做了根本性的错误为这样一个基本的布局,导致这一点。

有人有什么想法吗,我怎么才能让这个加载没有错误?


当前回答

要解决这个问题,只需在你的AndroidManifest.xml文件中添加android:usesCleartextTraffic="true",该文件位于..\app\src\main\AndroidManifest.xml,就像下面这样…

其他回答

尝试调试这个错误,首先到你的android终端/控制台并执行这个命令:

ps | grep THE_ERROR_PID_YOU_GET_(IT_IS_A_NUMBER)

然后如果输出是你的app…是你的应用程序导致了错误。尝试寻找传递到布局中的空字符串。

我有这个完全相同的问题,这是我的错误,因为我传递了一个空字符串到我的布局。把“”改成“”之后,这个错误就消失了。

如果你没有从控制台输出你的应用程序,那么它是其他东西导致的(可能,正如其他人所说,android键盘)

要解决这个问题,只需在你的AndroidManifest.xml文件中添加android:usesCleartextTraffic="true",该文件位于..\app\src\main\AndroidManifest.xml,就像下面这样…

我也遇到过同样的问题。我几乎浪费了几周的时间来解决这个问题。 最后,我对自己产生了怀疑,并试图通过复制和粘贴一些启动文件,如SplashScreen和LoginScreen,来创建另一个项目。

但同样的代码,我仍然得到SPAN_EXCLUSIVE_EXCLUSIVE。

然后我已经从启动画面中删除了处理程序代码,并再次尝试,哇,它的工作。 我没有得到SPAN_EXCLUSIVE_EXCLUSIVE问题在logcat。

我在想,为什么会这样?直到时间没有得到任何其他解决方案,但从启动画面删除处理程序,它是工作的。

如果问题已经解决,请尝试在这里更新。

我有同样的问题,然后我通过以下代码修复它!

  text = (EditText)findViewById(R.id.TextVoiceeditText); 
  text.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

看看你的代码,我不知道为什么你会得到这个错误,但我有同样的错误,但与EditText字段。

改变android:inputType=“文本”(或任何其他inputType文本变体)到android:inputType=“textnosuggestion”(或android:inputType=“textEmailAddress| textnosuggestion”,例如)为我修复了它。

您还可以在代码中使用类似于

mInputField.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

看起来Android默认假设EditText字段会有建议。如果没有,就会出错。不是100%相信这个解释,但上面提到的变化为我解决了这个问题。

http://developer.android.com/reference/android/text/Spanned.html#SPAN_EXCLUSIVE_EXCLUSIVE

希望这能有所帮助!