2010-10-27 30 views
19

Usando Eclipse en win XP. Anteriormente, creé una aplicación o 2, pero ahora estoy trabajando en la versión "real" y obtengo el error anterior.R.layout.main no se puede resolver

Estaba teniendo divertidos creando una versión 1.5, así que he comenzado un nuevo proyecto para 2.1.

package xxx.guest; 

import android.R; 
import android.app.Activity; 
import android.content.Context; 
import android.graphics.Bitmap; 
import android.os.Bundle; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class briefme extends Activity { 

private String strURL; 
      ........ 
      ........ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

Proyecto como a continuación (tenga en cuenta que he eliminado algunos nombres por razones de confidencialidad!)

Alguna idea de lo que salió mal?

Gracias,

Martin.

Project screenshot here

Respuesta

59

me gustaría probar refrescante, si eso no funciona, cierre y abra el proyecto.

Si esos dos fallan, elimine y vuelva a crear R (debe generar automáticamente) (cópielo solo para estar seguro).

Tengo que esto me sucede algunas veces y esas son las tres cosas que suelo hacer para solucionar el error.

Editar: Proveedores cambiar su importación:

import android.R; 

a:

import your.package.R; 
+0

OK, que fija - (ggogle finalmente se acercó buena :)) –

+2

> mi proyecto han incluido un r.java.at al principio, R.layout.main funciona bien.Pero, después de agregar un código no funciona, y el error es R.layout.main no se puede resolver.¿Cuál es el problema? > Mire sus importaciones. Es probable que la línea: import android.R; Tomado de otro Stackoverflow Q: estará allí. Si ese es el caso, elimínelo, para que su proyecto resuelva R no con la clase predeterminada de Recursos de Android, sino con la generada automáticamente desde su carpeta/res /. –

+0

muchas gracias +1 – IamStalker

2

Como se sugirió anteriormente, simplemente cambiando la importación de "importación android.R;" a uno relacionado con su aplicación, p. "import your.package.name.R;" debería hacer el truco aquí.

1

También puede verificar si el programa adb en la carpeta/platform-tools tiene permisos para ejecutarse en su sistema. De lo contrario, no se generará R.java para su proyecto.

3

En mi caso esto sucedió porque era un recurso de diseño con letras mayúsculas en el nombre del archivo. Los recursos no se compilaron debido al error y por eso faltaba la clase R.

0

Mis dos centavos.

En mi caso, había usado otra variable con el mismo nombre R que dio como resultado un error de compilación. Eclipse podría mejorar en términos de guiar a los usuarios con el mensaje de error exacto.

0

Posible duplicado de R cannot be resolved - Android error.

En ese hilo tenemos una respuesta excelente.

Refiriéndose a http://source.android.com/source/using-eclipse.html obtenemos el siguiente fragmento:

Nota: Eclipse veces le gusta añadir una "importación android.R" declaración en la parte superior de los archivos que utilizan los recursos, sobre todo cuando se pide Eclipse para ordenar o administrar las importaciones. Esto hará que tu marca se rompa. Esté atento a estas declaraciones erróneas de importación y elimínelas.

Así que la respuesta es eliminar en lugar de cambiar el nombre de import android.R;

La razón de esto es que your.package.R es visible ya que comparten paquete. El import android.R; enmascara esto, por lo que es más limpio eliminarlo en lugar de cambiarlo a algo redundante.

0

Si tiene una plataforma Linux de 64 bits sin bibliotecas ia32, entonces este problema también podría ocurrir. Me tomó bastante tiempo anotar esto, ya que el problema no está claramente relacionado con la imposibilidad de ejecutar el código de 32 bits.

0

En mi caso (ver otros tutoriales) tiene que cambiar:

setContentView(R.layout.main); 

Para:

setContentView(R.layout.activity_main); 
Cuestiones relacionadas