Mam następujący układ (praktycznie pusty):
<?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>
Klasa Activity zawiera następujące elementy:
public class TestActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
}
}
Po uruchomieniu tego na urządzeniu mobilnym pojawia się następujący błąd:
SpannableStringBuilder
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
Próbowałem tego z TextView i bez niego, a błąd nadal występuje, muszę robić coś zasadniczo nie tak, aby taki podstawowy układ mógł to spowodować.
Czy ktoś ma jakieś pomysły na to, jak mogę to załadować bez błędu?
android:contentDescription
zLinearLayout
, jak to pojemnik nie jest aktywowana, a więc opis nie zostaną wykorzystane AFAIK.Odpowiedzi:
Natrafiłem na te same wpisy błędów w LogCat. W moim przypadku jest to spowodowane klawiaturą innej firmy, której używam. Kiedy zmienię go z powrotem na klawiaturę Androida, wpis błędu nie będzie już wyświetlany.
źródło
Ponieważ błąd dostajesz jest nie powiązany z
EditText
, to jest to nie związane z klawiatury.Błędy, które otrzymujesz, nie są wynikiem twojego kodu; prawdopodobnie testujesz na urządzeniu Samsung, które ma TouchWiz firmy Samsung.
Miałem te same błędy, potem testowałem na Nexusie S (również przez Samsunga, ale czysty system operacyjny Android bez TouchWiz) i nie dostałem tego błędu.
Więc w twoim przypadku po prostu zignoruj te błędy podczas testowania na urządzeniu! :)
źródło
Patrząc na twój kod, nie jestem pewien, dlaczego pojawia się ten błąd, ale miałem ten sam błąd, ale z polami EditText.
Zmiana
android:inputType="text"
(lub dowolna inna odmiana tekstu inputType) naandroid:inputType="textNoSuggestions"
(lubandroid:inputType="textEmailAddress|textNoSuggestions"
, na przykład) naprawiła to dla mnie.Możesz również ustawić to w Code za pomocą czegoś takiego
Wygląda na to, że Android domyślnie zakłada, że pola EditText będą zawierały sugestie. Kiedy tego nie robią, popełnia błędy. Nie jestem w 100% pewien tego wyjaśnienia, ale powyższe zmiany mnie naprawiły.
http://developer.android.com/reference/android/text/Spanned.html#SPAN_EXCLUSIVE_EXCLUSIVE
Mam nadzieję że to pomoże!
źródło
Na telefonie z Androidem przejdź do:
Ustawienia -> Menedżer aplikacji -> Wszystkie -> Klawiatura Samsung, a następnie kliknij „Wyczyść pamięć podręczną”
(usuń wszystkie dane zebrane przez tę aplikację).
źródło
Spróbuj użyć domyślnej klawiatury Androida, która zniknie
źródło
Wyjaśnij, że przekazałeś wartość w MainAcitivity dla następujących metod onCreateOptionsMenu i onCreate
W niektórych przypadkach programista usuwa instrukcję „return super.onCreateOptionsMenu (menu)” i zmienia się na „return true”.
źródło
W kodzie Java:
źródło
Miałem to samo ostrzeżenie i stwierdziłem, że usunięcie nieużywanego @id pozbyło się ostrzeżenia. Dla mnie było to oczywiste, ponieważ @id był powiązany z rosnącą listą textViews powiązanych z bazą danych, więc dla każdego wpisu było ostrzeżenie.
źródło
Masood Moshref ma rację, ten błąd występuje, ponieważ menu opcji Menu nie jest dobrze przygotowane przez brak metody „return super.onCreateOptionsMenu (menu)” w metodzie onCreate ().
źródło
Aby spróbować debugować ten błąd, najpierw przejdź do terminala / konsoli Androida i wykonaj następujące polecenie:
to jeśli wyjście wyjdzie jako twoja aplikacja ... to twoja aplikacja powoduje błąd. Spróbuj poszukać pustych
Strings
, które przejdziesz dolayout
.Miałem dokładnie ten sam problem i to moja wina, że wprowadzałem puste
String
do mojego układu. Po zmianie""
na" "
tego błędu odszedł.Jeśli nie otrzymujesz aplikacji z wyjścia konsoli, przyczyną jest inna przyczyna (prawdopodobnie, jak powiedzieli inni, klawiatura Androida)
źródło
Napotkałem ten sam problem. Prawie zmarnowałem prawie kilka tygodni na rozwiązanie tego problemu. Wreszcie miałem wątpliwości co do siebie i próbowałem stworzyć inny projekt, kopiując i wklejając niektóre pliki startowe, takie jak SplashScreen i LoginScreen.
Ale wciąż z tym samym kodem otrzymywałem SPAN_EXCLUSIVE_EXCLUSIVE .
Następnie usunąłem kod obsługi z ekranu powitalnego i spróbowałem ponownie i Wow działa. Nie otrzymuję problemu SPAN_EXCLUSIVE_EXCLUSIVE w logcat .
Zastanawiam się, dlaczego tak jest? dopóki czas nie znalazł innego rozwiązania, ale po usunięciu programu obsługi z ekranu powitalnego działa.
Spróbuj zaktualizować tutaj, jeśli problem został rozwiązany, czy nie.
źródło
Sprawdź, czy jakikolwiek element, taki jak przycisk lub widok tekstu, jest zduplikowany (skopiowany dwukrotnie) na ekranie, na którym się to pojawia. Zrobiłem to niezauważony i musiałem zmierzyć się z tym samym problemem.
źródło
Na ten problem też wpadłem, gdy skopiowałem jakiś tekst z Internetu. Moim rozwiązaniem jest przycięcie tekstu / usunięcie formatowania przed dalszym przetwarzaniem.
źródło
Miałem ten sam problem, ale z listView .... rozwiązałem go, ponieważ użyłem niewłaściwego R.id.listView tej listy Widok musiał mieć wartość, w moim przypadku były to ciągi znaków, które zapisałem na listView2 ... więc właściwy kod to R.id.listView2
źródło
Miałem ten sam problem, a następnie naprawiłem go, wykonując kod!
źródło
ten błąd występuje również z powodu zmienionego adresu URL interfejsu API. spróbuj użyć adresu URL, którego używasz w listonoszu ic, jeśli działa poprawnie. ponowne sprawdzenie interfejsów API rozwiązało mój problem
źródło
staraj się unikać użycia widoku w projekcie xml. Ja też miałem ten sam problem, ale kiedy usunąłem widok. działało idealnie.
jak przykład:
sprawdź także i spróbuj zmienić metodą prób i błędów android: inputType = "number" na android: inputType = "text" lub lepiej nie używaj go, jeśli nie jest wymagany. Czasami klawiatura zacina się i pojawia się błąd na niektórych urządzeniach.
źródło
W moim przypadku pola EditText z inputType jako text / textCapCharacters ten błąd. Zauważyłem to w moim logcat za każdym razem, gdy użyłem backspace, aby całkowicie usunąć tekst wpisany w dowolnym z tych pól.
Rozwiązaniem, które działało dla mnie, była zmiana typu inputType tych pól na textNoSuggestions, ponieważ był to najbardziej odpowiedni typ i nie powodował już żadnych niepożądanych błędów.
źródło