У меня есть следующий макет (практически пустой):
<?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, и ошибка все еще остается, я должен делать что-то принципиально неправильное для такой базовой компоновки, чтобы вызвать это.
У кого-нибудь есть идеи о том, как я могу загрузить это без ошибки?
android:contentDescription
отLinearLayout
, так что контейнер не фокусируемый и поэтому описание не будет использоваться AFAIK.Ответы:
Я столкнулся с той же записи ошибок в LogCat. В моем случае это вызвано тем, что я использую стороннюю клавиатуру. Когда я переключаю его обратно на клавиатуру Android, запись об ошибке больше не отображается.
источник
Поскольку ошибка, которую вы получаете, не связана с
EditText
, то она не связана с вашей клавиатурой.Ошибки, которые вы получаете, не являются результатом вашего кода; вы, вероятно, тестируете устройство Samsung с TouchWiz от Samsung.
У меня были те же ошибки, затем я тестировал на Nexus S (также от Samsung, но на чистой ОС Android без TouchWiz), и я не получил эту ошибку.
Так что, в вашем случае, просто игнорируйте эти ошибки при тестировании на устройстве! :)
источник
Глядя на ваш код, я не уверен, почему вы получаете эту ошибку, но у меня была такая же ошибка, но с полями EditText.
Изменение
android:inputType="text"
(или любого другого варианта текста inputType) наandroid:inputType="textNoSuggestions"
(илиandroid:inputType="textEmailAddress|textNoSuggestions"
, например) исправило это для меня.Вы также можете установить это в коде с чем-то вроде
Похоже, Android по умолчанию предполагает, что поля EditText будут иметь предложения. Когда они этого не делают, это ошибки. Не на 100% уверен в этом объяснении, но вышеупомянутые изменения исправили это для меня.
http://developer.android.com/reference/android/text/Spanned.html#SPAN_EXCLUSIVE_EXCLUSIVE
Надеюсь это поможет!
источник
На вашем телефоне Android перейдите:
Настройки -> Диспетчер приложений -> Все -> Клавиатура Samsung и нажмите «Очистить кэш»
(удалить все данные, собранные этим приложением).
источник
Попробуйте использовать стандартную клавиатуру Android, она исчезнет
источник
Убедитесь, что вы передали значение в MainAcitivity для следующих методов onCreateOptionsMenu и onCreate
В некоторых случаях разработчик удаляет оператор return super.onCreateOptionsMenu (menu) и заменяет его на true возврата.
источник
В коде Java:
источник
Я получил то же самое предупреждение и обнаружил, что удаление неиспользованного @id избавилось от предупреждения. Для меня это было очевидно, так как @id ассоциировался с растущим списком текстовых представлений, связанных с базой данных, поэтому для каждой записи было предупреждение.
источник
Масуд Мошреф прав, эта ошибка возникает из-за того, что меню параметров меню недостаточно хорошо подготовлено из-за отсутствия метода return super.onCreateOptionsMenu (menu) в методе onCreate ().
источник
Чтобы попытаться отладить эту ошибку, сначала перейдите на ваш терминал / консоль android и выполните эту команду:
затем, если вывод выходит как ваше приложение ... это ваше приложение вызывает ошибку. Попробуйте поискать пустое,
Strings
которое вы передаете вlayout
.У меня была точно такая же проблема, и это была моя вина, когда я передавал пустую
String
в свой макет. После изменения""
в" "
этом ошибки ушел.Если ваше приложение не выводится из консоли, то оно вызывается чем-то другим (возможно, как говорили другие, клавиатурой Android)
источник
Я столкнулся с той же проблемой. Я почти потратил почти пару недель, чтобы решить эту проблему. Наконец я сомневался в себе и попытался создать другой проект, скопировав и вставив некоторые файлы запуска, такие как SplashScreen & LoginScreen.
Но с тем же кодом я все еще получал SPAN_EXCLUSIVE_EXCLUSIVE .
Затем я удалил код обработчика с заставки и попробовал еще раз, и ничего себе. Я не получаю SPAN_EXCLUSIVE_EXCLUSIVE проблему в logcat .
Мне интересно, почему это так? пока время не получило никакого другого решения, но, удалив обработчик с заставки, он работает.
Попробуйте обновить здесь, если это решено или нет.
источник
Проверьте, есть ли на экране, где это происходит, какой-либо элемент, такой как кнопка или текстовое представление, дублированный (скопированный дважды). Я сделал это незамеченным и столкнулся с той же проблемой.
источник
Я тоже столкнулся с этой проблемой, когда скопировал текст из Интернета. Мое решение состоит в том, чтобы обрезать текст / удалить форматирование перед дальнейшей обработкой.
источник
У меня была та же проблема, но с listView .... я решил ее, потому что я использовал неправильный R.id.listView, что View списка должен иметь значение, в моем случае это были строки, которые я сохранил в listView2 ... поэтому правильный код был R.id.listView2
источник
У меня была такая же проблема, тогда я исправил ее следующим кодом!
источник
эта ошибка также возникает из-за изменения URL-адреса API. попробуйте нажать на URL, который вы используете в почтальоне, и c, если он работает правильно. перепроверка API решила мою проблему
источник
попробуйте избежать использования view в xml design. У меня тоже была та же проблема, но когда я удалил view. это сработало отлично.
как пример:
также проверьте и попробуйте изменить методом проб и ошибок android: inputType = "number" на android: inputType = "text" или лучше не использовать его, если не требуется. Иногда клавиатура застревает и выдает ошибку на некоторых устройствах.
источник
В моем случае поля EditText с inputType как text / textCapCharacters были этой ошибки. Я замечал это в своем logcat всякий раз, когда использовал backspace для полного удаления текста, набранного в любом из этих полей.
Решение, которое работало для меня, состояло в том, чтобы изменить inputType этих полей на textNoSuggestions, так как это был наиболее подходящий тип и больше не давал мне никаких нежелательных ошибок.
источник