¿Cómo averiguar los parámetros de Android en INT?

Muchos métodos de Android para establecer aspectos de diseño toman un INT como parámetro, pero la descripción de esos métodos en las guías y la documentación de Google se muestran como si los argumentos fueran cadenas. Por ejemplo, el método setOrientation() de LinearLayout. Aquí está la descripción:

public void setOrientation (orientación int)

Si el diseño debe ser una columna o una fila.

android: orientación

Parámetros Pasar HORIZONTAL o VERTICAL. El valor predeterminado es HORIZONTAL.

Como puede ver, el método toma un INT como parámetro, pero la descripción me dice que pase HORIZONTAL o VERTICAL.

Noté el mismo patrón en muchos otros métodos, entonces, ¿cómo averiguo qué valores pasar para lograr lo que quiero?

Noticias: Por prueba y error encontré que 0 representa horizontal y 1 vertical. Sin embargo, ¿no debería esta documentación explicar esto más claramente?

preguntado el 22 de mayo de 12 a las 20:05

2 Respuestas

es porque esos son static final ints llamado HORIZONTAL y VERTICAL por lo que llamarías:

setOrientation(LinearLayout.HORIZONTAL);

contestado el 22 de mayo de 12 a las 20:05

Entendido. Sin embargo, un aviso en la documentación sería bueno :) - Daniel Scocco

De acuerdo, desearía que Google hubiera usado enumeraciones en lugar de ints y hubiera tenido el ligero, leve impacto en el rendimiento al hacerlo.

por lo general, puede encontrar las constantes int definidas en los documentos para la clase del método que está viendo. por ejemplo, los javadocs para LinearLayout's setOrientation() mención del método HORIZONTAL y VERTICAL, y esas constantes se pueden encontrar aquí,

http://developer.android.com/reference/android/widget/LinearLayout.html#HORIZONTAL http://developer.android.com/reference/android/widget/LinearLayout.html#VERTICAL

ahora, el hecho de que Google no enlace a las constantes de los documentos para setOrientation(), y que los documentos para esas constantes estén en blanco no se puede excusar.

contestado el 22 de mayo de 12 a las 20:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.