Intereting Posts
Android: могу ли я включить GPS без перенаправления пользователя на экран настроек, например, в приложении «Google Maps» Как я могу получить название моего нынешнего места? Упаковка файлов ресурсов Android в дистрибутивном файле Jar Отслеживание представления View добавлено в WindowManager (нет функции findViewById ()?) Пользовательский support.v7.widget.Toolbar не отображается на устройстве Canvas 'drawLine и drawRect не включают конечную позицию? Передача вложенного класса <MyInterface <T >> в качестве параметра в Android Как построить проект apache cordova из командной строки? Есть ли простой способ настроить эмулятор Android для доступа к локальной сети хост-машины? Фрагмент заменен все еще видимым на фоне Является ли Sun Java действительно необходимым для использования Android SDK на Ubuntu 10.10? Я предпочитаю OpenJDK Зарегистрируйтесь как музыкальный плеер и сыграйте песню Как дать пользователю возможность переключаться между цветами разных цветов в приложении DatePicker.setMinDate (long minDate) бросает IllegalArgumentException: время не между Удаление записи из пакета (например, дополнительные функции) не работает в сочетании с кнопкой «Назад»

Ошибка: SPAN_EXCLUSIVE_EXCLUSIVE интервалы не могут иметь нулевую длину

У меня проблема с моим приложением для Android. Я получил связанную кнопку и событие, но когда я нажимаю первый раз, появляется ошибка

«Пролеты не могут иметь нулевую длину».

, Но когда я нажимаю второй раз, событие onclick работает хорошо. Посмотрите на мой код Java:

public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button selectAltitude = (Button) findViewById(R.id.buttonAltitude1); final Button selectAltitude2 = (Button) findViewById(R.id.buttonAltitude2); selectAltitude2.setOnClickListener(new View.OnClickListener() { public void onClick(View view){ String tempAlt = selectAltitude2.getText().toString(); selectAltitude2.setText(selectAltitude.getText().toString()); selectAltitude.setText(tempAlt); } }); } 

Xml-код с двумя кнопками (появляется предупреждение об отказе):

  <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@android:color/black"> <Button android:id="@+id/buttonAltitude1" style="?android:attr/buttonBarButtonStyle" android:layout_width="39dp" android:layout_height="42dp" android:layout_marginLeft="250dp" android:layout_x="257dp" android:layout_y="419dp" android:background="@drawable/drawable1" android:focusableInTouchMode="true" android:gravity="center_vertical" android:includeFontPadding="false" android:linksClickable="true" android:minHeight="10dp" android:minWidth="64dp" android:paddingLeft="10dp" android:paddingRight="5dp" android:scrollHorizontally="true" android:text="@string/button_meters" android:textColor="@android:color/black" android:textSize="22sp" android:textStyle="bold" /> <Button android:id="@+id/buttonAltitude2" style="?android:attr/buttonBarButtonStyle" android:layout_width="65dp" android:layout_height="42dp" android:layout_marginLeft="250dp" android:layout_x="295dp" android:layout_y="419dp" android:background="@drawable/drawable2" android:clickable="true" android:focusableInTouchMode="true" android:gravity="center_vertical" android:includeFontPadding="false" android:linksClickable="true" android:minHeight="10dp" android:minWidth="64dp" android:paddingLeft="15dp" android:paddingRight="5dp" android:scrollHorizontally="true" android:text="@string/button_feet" android:textColor="@android:color/black" android:textSize="25sp" android:textStyle="bold" /> 

Когда я нажимаю первый раз, когда Log cat взаимодействует с:

04-06 20: 01: 39.865: I / Датчики (6946): sendDelay — 200000000 04-06

20: 01: 39.865: D / SensorManager (6946): JNI – sendDelay 04-06

20: 01: 39.865: I / SensorManager (6946): установите нормальную задержку = true 04-06

20: 01: 39.890: E / SpannableStringBuilder (6946): SPAN_EXCLUSIVE_EXCLUSIVE

Пролеты не могут иметь нулевую длину 04-06 20: 01: 39.890:

E / SpannableStringBuilder (6946): SPAN_EXCLUSIVE_EXCLUSIVE не может

Имеют нулевую длину

Вы можете помочь ne ?;)

Solutions Collecting From Web of "Ошибка: SPAN_EXCLUSIVE_EXCLUSIVE интервалы не могут иметь нулевую длину"

Я запустил те же записи ошибок в LogCat. В моем случае это вызвано третьей стороной клавиатуры, которую я использую. Когда я меняю его на клавиатуру Android, запись об ошибке больше не отображается.

Это наиболее вероятная причина этой проблемы, так как есть отчет об ошибке для SwiftKey:

http://support.swiftkey.net/forums/116693-2-bug-reports/suggestions/2994580-span-exclusive-exclusive-spans-cannot-have-a-zero-

Чтобы попытаться отладить эту ошибку, сначала перейдите на свой терминал / консоль android и выполните следующую команду:

 ps | grep THE_ERROR_PID_YOU_GET_(IT_IS_A_NUMBER) 

То если выход выходит как ваше приложение … это ваше приложение вызывает ошибку. Попробуйте искать пустые Strings которые вы передаете в layout .

У меня была такая же проблема, и это была моя ошибка, когда я передавал пустую String в свой макет. После изменения "" на " " эта ошибка исчезла.

Если вы не получите свое приложение из вывода консоли, то это что-то еще вызывает его (возможно, как говорили другие, клавиатура Android)

Я знаю, что немного опаздываю. Если кому-то по-прежнему нужна помощь в том, что нужно щелкнуть второй раз для запуска события onclick , я удалил это:

 android:focusableInTouchMode="true" 

Событие onClick теперь будет работать при первом щелчке.