2010-11-27 25 views
12

He leído gran parte de la documentación de Android y todavía no he encontrado ninguna declaración que diga lo que significa un prefijo de valor de id de "@ + id". Sé lo que significa "@string" y las variaciones de eso, pero no la variación con el "+". Además de darme la respuesta, ¿puedes mostrarme dónde está documentado en los documentos de Android?¿Qué significa "@ + id"?

Respuesta

39

El signo más simplemente indica que la ID debe crearse si no existe.

Es práctica común utilizar @+id/foo la hora de definir una nueva vista en un diseño, y luego usar @id/foo hacer referencia a la vista desde otra parte del diseño (por ejemplo, en una jerarquía RelativeLayout) o R.id.foo hacer referencia a ella desde el código.


ACTUALIZACIÓN: Docs están aquí: Declaring Layout - Attributes - ID

3

Esa es la sintaxis para vincular un elemento de diseño XML Android para el código Java. Entonces, si quiero mostrar texto en un TextView, tengo que hacer esto.

Paso uno - definir el diseño

<TextView 
android:id="@+id/SaveResult" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="SaveResult" 
android:layout_x="16px" 
android:layout_y="190px" 
> 
</TextView> 

Luego, en código, utilice @ + id para vincular el diseño de la variable. Piense en la identificación @ + como una clave externa en una base de datos.

TextView lblSaveResult = (TextView)findViewById(R.id.SaveResult); 

Ahora, está listo para su uso. Cuando le asigno texto, se utiliza la @ + id para ver dónde ponerlo, y también el color, tamaño, etc ..

lblSaveResult.setText("This text is now on the screen"); 

Lo sentimos, pero no sé donde la documentación es para este ...

1

El signo at (@) es obligatorio cuando se hace referencia a cualquier objeto de recurso de XML. Le sigue el tipo de recurso (id en este caso).

El signo más (+) antes del tipo de recurso solo se necesita cuando se define un ID de recurso por primera vez. Cuando compila la aplicación, las herramientas SDK usan el nombre ID para crear una nueva ID de recurso en el archivo gen/R.java de su proyecto que se refiere al elemento UI. Con el ID de recurso declarado una vez de esta manera, otras referencias a la ID no necesitan el signo más. El uso del signo más es necesario solo cuando se especifica una nueva ID de recurso y no es necesaria para recursos concretos, como cadenas o diseños.

0

El signo más indica que está creando una nueva ID que no existe. por ejemplo, "@ + id/xyz". Si escribe "@ id/xyz", indica que está haciendo referencia a la Vista desde otra parte del diseño.

Cuestiones relacionadas