2015-07-27 12 views
5

Quando aggiungo android: id/background al namespace, Lint si lamenta che "Can not Resolve Symbol" anche se lo sono chiedendo di aggiungerlo invece di chiamarlo. Il codice funziona come scritto, ma l'errore persiste. Quando cambio <item android:id="@+android:id/background" to <item android:id="@+id/background", l'applicazione smette di funzionare (si interrompe un'altra chiamata). La mia domanda è: perché Lint non mi riconosce aggiungendo android: id/background al namespace anche se una chiamata ad esso funziona bene? C'è un modo migliore per dare a questo oggetto un ID che non permetta a Lint di generare un errore?Errore "Impossibile risolvere il simbolo" quando si utilizza android: id = "@ + android: id/my_id"

Tutte e tre le definizioni namespace per gli elementi nello strato-elenco che segue lanciare un errore lint:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+android:id/background" 
     android:drawable="@drawable/custom_ratingbar_empty" /> 
    <item android:id="@+android:id/secondaryProgress" 
     android:drawable="@drawable/custom_ratingbar_empty" /> 
    <item android:id="@+android:id/progress" 
     android:drawable="@drawable/custom_ratingbar_filled" /> 
</layer-list> 

ho trovato this e provato a fare funzionare Build-> pulita come suggerito senza successo.

+0

Cosa si intende per '@ + android: id'? '@ +' è di aggiungere un ID precedentemente indefinito. Stai cercando di aggiungere un ID nello spazio dei nomi Android predefinito (che non funzionerà)? – dhke

risposta

11

Se si sta creando il proprio ID:

"@+id/your_new_id" 

se si accede proprio ID

"@id/your_old_id" 

già creato se si sta tentando di accedere di Android sistema creato id

"@android:id/system_id" 

puoi vedere la differenza, se stai creando il tuo id allora devi aggiungere +. Dal momento che stai accedendo all'ID di sistema in modo da non dover aggiungere +

+0

Grazie per il chiarimento. –

0

Prova a sostituire @ + android: id con @ + id e controlla se funziona!

2

Sembra che si stia utilizzando un ulteriore +.

È necessario rimuoverlo, sostituire come segue @+android:id/background a .

+0

Grazie, funziona. Suppongo che dovessi chiamare quell'ID e che era già stato aggiunto al namespace? Useresti mai @ + android: id/background? Grazie per l'aiuto. –

Problemi correlati