2010-07-12 20 views
8

Qualche idea sul perché a volte Eclipse è in frittura e non riconosce il codice che ha fatto pochi secondi fa? La "R" nel codice qui sotto ha lo scarabocchio rosso sotto di esso quando non ha fatto 5 minuti fa e non ho cambiato alcun codice. Questo accade frequentemente con Eclipse e di solito lo spengo e lo avvio di nuovo ed è bello andare ... non andare questa volta.Eclipse non riconosce "R.id ..." con Android

// Initialize view elements 
    mSearchBox  = (EditText) this.findViewById(R.id.edittext_search); 
    mSearchButton = (Button) this.findViewById(R.id.button_search); 

risposta

10

suona come la classe R ha bisogno di essere rigenerato, provare a fare una modifica al file di layout e salvandolo così il progetto ricostruisce.

+1

Grazie, ma non ha funzionato ... nessun'altra idea. – taraloca

+2

controlla che nessuno dei tuoi file xml presenti errori, se uno di loro lo fa, potrebbe causare il fallimento della generazione di R. dovresti essere in grado di vedere eventuali errori nella console di Android, oltre a controllare la finestra "problemi". –

+0

Grazie ... Ho avuto un errore in uno dei miei file xml. Correggendolo e il problema è stato risolto. – taraloca

11

hai importato accidentalmente android.R. *; in nessun caso? Ho importato questo e che rende Eclipse non riconoscere tutte le altre classi R generate, assicurarsi che si sta importando quello dal progetto:

import <project_name>.R; 
+0

Aaaarrggh ... questo mi è successo più di una volta! Non so come lascio importare .R nel mio codice. Molte grazie! –

+1

eclipse mi morde di nuovo. – lalitm

1

Come di Android Development Tool (ADT) 14, i campi di risorse come ad esempio R.id. non sono più costanti quando definite nel progetto della libreria. Questo è necessario per rendere riutilizzabili i progetti di libreria senza ricompilarli.

Esiste una soluzione semplice per R.id. che tu sai che è corretto, ma Android pensa che sia errato. (Supponendo che il file XML è corretto, il codice Java fa riferimento la risorsa giusta, e tu non hai il "android.R importazione;" dichiarazione)

  1. Posizionare il cursore sulla dichiarazione switch e fare clic destro sul esso.
  2. Selezionare QUICK FIX. Eclipse convertirà i tuoi storn switch in istruzioni if-else if-else.
  3. Questo dovrebbe risolvere il R.id. problema.
5

Questo è problema molto comune in Android basta seguire questo,

  • Vai al progetto menu di selezione opzione "pulito"
  • .
  • Assicurarsi che "Build automaticamente opzione è selezionata"

fatto, l'errore del tuo R.java otterrà determinazione.

+2

Ok ... quando funziona (buona fortuna necessaria) –

1

Mi sono imbattuto nello stesso problema. Tutto quello che ho fatto è stato cancellare l'istruzione "import android.R" e Eclipse mi ha dato automaticamente le importazioni di cui avevo bisogno. Una volta colpito, tutti i miei errori sono andati via. Ho lottato per tre giorni cercando di capirlo.

BTW - assicurarsi di farlo con tutti i file.

0

In aggiunta alle risposte precedenti, questo errore può verificarsi se non è stato dichiarato il pacchetto in AndroidManifest.xml o se si è dichiarato il pacchetto errato. Assicurati di avere

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.applicationname" ... 
0

Se ritieni che il tuo codice sia corretto e ottieni comunque questo errore.

Fare clic con il tasto destro su Progetto >> Crea progetto e questo errore si spegnerà.

È possibile anche mantenere un ambiente dove un progetto viene costruito automaticamente

fare clic sulla scheda del progetto >> generare automaticamente.

Spero che questo risolva il tuo problema !!

0

Sono stati aggiunti file di immagini alla cartella dei disegni? Anche i file di immagine con nomi di file non validi possono causare lo stesso problema.

Problemi correlati