2014-04-05 13 views
9

Mam następujące dwa TextView w moim układzie:zasobów id nie może być pusty ciąg znaków (w „tekst” o wartości „?”) W textAppearance przypisują

<TextView 
    android:id="@+id/TextView_playSourceWord" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:layout_centerHorizontal="true" 
    android:layout_below="@+id/TextView_playTheme" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:layout_margin="@dimen/word_box_margin" 
    android:text="Maison" /> 

<TextView 
    android:id="@+id/TextView_playTargetWord" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:layout_centerHorizontal="true" 
    android:layout_below="@+id/TextView_playSourceWord" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:layout_margin="@dimen/word_box_margin" 
    android:text="?" /> 

nie mam żadnego błędu dla pierwszy z nich, ale w drugim android:textAppearance="?android:attr/textAppearanceLarge" generuje następujący błąd:

error: Error: Resource id cannot be an empty string (at 'text' with value '?'). 

mam też inne TextView w innych układach mających tę samą wartość dla textAppearance i istnieją tam żadne błędy. Czy istnieje sposób, aby to naprawić bez konieczności ponownego tworzenia stylu ręcznie?

+0

Jeśli moja odpowiedź zadziałała dla ciebie .. Proszę oznaczyć ją poprawną odpowiedzą .. Dzięki –

+0

Nie działa, przepraszam. Pojawiają się następujące błędy: 'W tym wierszu znaleziono wiele adnotacji: - error: Error: Identyfikator zasobu nie może być pustym ciągiem znaków (w 'text' z wartością"? "). - error: Błąd: typy łańcuchów niedozwolone (w 'textAppearance' z wartością '\? android: attr/'. Ponadto, mój problem nie występuje w Androidzie: tekst, to w Androidzie: textAppearance. – PrincessLilly

+0

czy próbowałeś @ zamiast? dla textAppearance –

Odpowiedz

16

Musisz uciec? jako zakodowane poniżej

android:text="\?" 
+0

Próbowałem "\? "dla Androida: tekst i komentarz w tekścieAppearance odszedł ... tak dziwnie Dlaczego miałby to oznaczać błąd w textAppanceance, jeśli problem jest w Androidzie: tekst? – PrincessLilly

+0

Nie znam rzeczywistego problemu za tym. Typy problemów mogą być obsługiwane po prostu przez czysty/kompilowany projekt –

3

Zawsze używaj zlokalizowane ciągi:

<TextView 
    android:id="@+id/TextView_playTargetWord" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:layout_centerHorizontal="true" 
    android:layout_below="@+id/TextView_playSourceWord" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:layout_margin="@dimen/word_box_margin" 
    android:text="@string/what" /> 

strings.xml

<string name="what">\?</string> 
+0

Jestem tego świadomy.Ten ciąg znaków jest po prostu symbolem zastępczym, więc mogę przetestować układ, rzeczywisty tekst zostanie dodany dynamicznie, ale dzięki. – PrincessLilly

-1

myślę, że był to błąd z Androidem Studio. Sprawdź tę ścieżkę: folder projektu/app/build, znajdziesz tam 3 foldery: "generowane", "półprodukty" i "wyjścia". Wszystko, co musisz zrobić, to usunąć całą zawartość tych folderów i odbudować projekt.

Powiązane problemy