Android Obtener el valor de un arraylist Entero se convierte en un número

Soy nuevo en Android y de lo que he leído aquí la mayor parte de la pregunta va a Imageview configuración de imagen. Aquí es mi problema igual que los errores de ImageView Ive creado un arraylist de entero debido a alguna función necesaria Int lista en lugar de lista de cadenas. Básicamente como la mayoría de la función lo he creado como éste

private ArrayList<Integer> myArrayList = new ArrayList<Integer>(); public void setPicture(Integer datanumber) { if (datanumber>=10) { myArrayList.add(R.drawable.picture); } else{ myArrayList.add(R.drawable.picture_gray); } ///and so on } 

Todo funciona bien hasta que descubrí que no puedo obtener esta cadena ex "R.drawable.picture" usando este código

  myArrayList.get(0).toString(); 

En cambio, me da un número aleatorio que no puedo entender. Mi pregunta es cómo puedo devolverlo al valor por defecto (o el que agrego en mi lista) Gracias por pasar tiempo leyendo mi pregunta

No le está dando un número al azar. Te está dando el valor de R.drawable.picture . Todos los recursos en R.*.* Se hacen referencia a través de números. Esto es evidente si echas un vistazo dentro de R.java, que muestra algo así como:

 public final class R { public static final class attr { } public static final class drawable { public static final int help=0x7f020000; public static final int ic_action_search=0x7f020001; public static final int ic_launcher=0x7f020002; public static final int splash1=0x7f020003; } public static final class id { public static final int userName=0x7f070002; } public static final class layout { public static final int splash=0x7f030003; } public static final class menu { public static final int action=0x7f060000; public static final int menu=0x7f060001; } public static final class string { public static final int app_name=0x7f040000; public static final int create_user=0x7f040004; public static final int help=0x7f040001; public static final int image=0x7f040002; public static final int primarymodtext=0x7f040003; } } 

Lo que obtiene es el valor int R.drawable.picture . Esto se debe a que cuando R.drawable.picture un valor a la lista de array, estás pasando el valor int almacenado en R.drawable.picture .

Todavía puede usar este valor entero que obtiene como si utilizara R.drawable.picture . Simplemente pásalo normalmente.

Utilice String.valueOf(myArrayList.get(0));

En lugar de myArrayList.get(0).toString();

  • ¿Es una práctica aceptable en Java anidar las sentencias try / catch?
  • Desarrollo de Android con editor de notas y línea de comandos
  • ¿Cómo instalar el paquete de iconos en el lanzador personalizado?
  • SDK de Android: Análisis de JSON de la URL mediante GSON
  • Biblioteca de visor de PDF de Android o tutoriales de biblioteca de muPDF
  • NullPointerException con aceleración de hardware activada?
  • Formato de fecha recuperado de un servicio
  • LibGDX 0.9.9 - Aplicar cubemap en el entorno
  • Depuración de Eclipse: while continue after return statement?
  • Enviar notificación a todos los dispositivos conectados a una red Wi-Fi
  • ¿Cómo puedo manejar múltiples clientes conectados a un servidor mediante sockets?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.