204

次のレイアウトがあります(実質的に空):

<?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 の有無にかかわらずこれを試しましたが、エラーはまだ残っています。このような基本的なレイアウトがこれを引き起こすには、何か根本的に間違っているに違いありません。

これをエラーなしでロードする方法について誰かアイデアがありますか?

4

21 に答える 21

248

LogCat で同じエラー エントリに遭遇しました。私の場合、使用しているサードパーティのキーボードが原因です。Android キーボードに戻すと、エラー エントリは表示されなくなりました。

于 2012-12-21T07:48:49.367 に答える
55

コードを見ると、なぜそのエラーが発生するのかわかりませんが、同じエラーが発生しましたが、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%自信があるわけではありませんが、上記の変更により修正されました。

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

お役に立てれば!

于 2012-12-04T04:26:19.200 に答える
11

デフォルトのAndroidキーボードを使用してみてください。消えます

于 2013-01-16T11:26:03.920 に答える
4

次のメソッド onCreateOptionsMenu および onCreate の MainAcitivity に値を渡していることを明確にしてください。

場合によっては、開発者は「return super.onCreateOptionsMenu(menu)」ステートメントを削除し、「return true」に変更します。

于 2013-08-14T10:41:40.250 に答える
1

Masood Moshref さんの言うとおり、このエラーは onCreate() メソッドで「return super.onCreateOptionsMenu(menu)」が不足しているため、Menu のオプション メニューが適切に準備されていないために発生します。

于 2014-02-02T16:36:46.340 に答える
1

同じ警告が表示され、未使用の @id を削除すると警告が解消されることがわかりました。@id は、データベースにリンクされた textViews の増加するリストに関連付けられていたため、私にとっては明らかでした。そのため、エントリごとに警告がありました。

于 2013-04-15T18:27:04.707 に答える
0

これが発生した画面で、ボタンやテキストビューなどの要素が重複(2回コピー)されていないか確認してください。私はこれを気づかずに行い、同じ問題に直面しなければなりませんでした。

于 2014-01-10T20:11:10.723 に答える
0

私は同じ問題を抱えていましたが、listViewで....リストビューに値が必要な間違ったR.id.listViewを使用していたため、解決しました。私の場合、listView2に保存した文字列でした...したがって、正しいコードは R.id.listView2 でした

于 2015-03-29T01:09:08.413 に答える
0

私は同じ問題に直面しました。この問題を解決するために、ほぼ数週間を無駄にしました。最後に、自分自身に疑問を抱き、SplashScreen や LoginScreen などのスタートアップ ファイルをコピー アンド ペーストして、別のプロジェクトを作成しようとしました。

しかし、同じコードでもSPAN_EXCLUSIVE_EXCLUSIVEを取得していました。

次に、スプ​​ラッシュ画面からハンドラー コードを削除し、もう一度試してみました。logcat でSPAN_EXCLUSIVE_EXCLUSIVE の問題が発生していません。

なぜだろう?それまで他の解決策はありませんでしたが、スプラッシュ画面からハンドラーを削除することで機能しています。

解決されたかどうかを試して、ここで更新してください。

于 2013-07-10T10:28:06.077 に答える
0

私の場合、携帯電話の最近のアプリのショートカットをクリックして、すべてのアプリを閉じます。このエラーはコードに関連していないため、このソリューションは常に機能します。

于 2020-11-05T21:41:25.373 に答える
0

私の場合、inputTypeがtext / textCapCharactersである EditText フィールドがこのエラーを引き起こしていました。バックスペースを使用してこれらのフィールドに入力されたテキストを完全に削除するたびに、logcat でこれに気付きました。

私にとってうまくいった解決策は、これらのフィールドの inputType を textNoSuggestions に変更することでした。これが最も適したタイプであり、不要なエラーが発生しなくなったためです。

于 2019-08-24T17:00:57.847 に答える
0

私は同じ問題を抱えていたので、次のコードで修正しました!

  text = (EditText)findViewById(R.id.TextVoiceeditText); 
  text.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
于 2016-09-24T07:42:21.477 に答える
0

このエラーは、API URL が変更されたためにも発生します。正しく機能している場合は、郵便配達員と c で使用している URL にアクセスしてみてください。APIを再確認すると問題が解決しました

于 2018-04-28T10:09:41.507 に答える