Recuento de elementos en la carpeta dibujable que comienzan con una cadena específica
¿Cómo puedo contar el número de elementos en la carpeta dibujable que comienzan con "fr"?
Fondo; Quiero crear un aleatorizador para recoger una imagen aleatoria de la carpeta drawables. Para que sea una prueba de futuro, quiero establecer el valor máximo del aleatorizador en el número de elementos que son elegibles para la recolección.
- Android: ¿Es más eficiente usar un archivo de texto o un archivo XML para almacenar datos estáticos
- Dónde colocar un archivo XML que contiene datos en una aplicación de Android
- Android 4.0.4 WebView MediaPlayer Error (1, -2147483648) Uso de <audio> Etiqueta y archivo de activos locales
- ¿Hay alguna manera de utilizar los recursos android no públicos en mi aplicación?
- Lectura de un archivo XML desde recursos
- Haciendo clic en un botón para cambiar el idioma
- Otros recursos $ NotFoundException en setContentView
- Android: getString () de los recursos pierde las etiquetas de la cadena
- Uso del recurso @string dentro de una definición de estilo
- Android: diferentes diseños que tienen elementos con los mismos IDs exactos - funciona, pero ¿por qué?
- ¿Cómo puedo seleccionar diferentes archivos de activos como el cambio de idioma con Locale y Configuración?
- Android: carga la fuente personalizada en la tarjeta SD
- Icono de Android Launcher - ¿Son mis recursos predeterminados / mdpi redudantes?
Al igual que otros recursos en Android, drawables se accede a través de la clase "R", que es sólo la colección de las clases estáticas que contienen campos enteros estáticos. No hay "get all drawable names" metthod (al menos no lo sé) aparte de usar la reflexión.
Usted necesitaría una lista de ids dibujables para aleatorizar de. Puede rellenar automáticamente esta lista mediante la reflexión:
import java.lang.reflect.Field; ... Field[] fields = R.drawable.class.getFields(); List<Integer> drawables = new ArrayList<Integer>(); for (Field field : fields) { // Take only those with name starting with "fr" if (field.getName().startsWith("fr")) { drawables.add(field.getInt(null)); } }
De esta manera obtendrás una lista de ids de dibujos que te interesan. Puede usar esos ids más tarde donde normalmente utilizaría, por ejemplo, R.drawable.someResource
- Cambiar el usuario y el grupo de archivos de la aplicación de Android para replicar el problema que el usuario está teniendo
- Forzar la orientación de la pantalla de bienvenida Phonegap (Android)