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();

  • Cómo establecer android: propiedad de ángulo de GradientDrawable de forma programática?
  • Creación de una cadena de url para obtener un favicon en java
  • EOFException al leer la cinta QueueFile
  • ¿Cómo decirle a ProGuard que ofusque métodos y nombres de clase?
  • Administrador de dispositivos virtual deshabilitado en Android Studio
  • ArrayList compruebe si los datos ya existen
  • Android - Cómo cambiar dinámicamente el texto del elemento de menú fuera de onOptionsItemsSelected o onCreateOptionsMenu
  • ¿Hay un sentido de manejar la excepción nullpointer de tal manera?
  • Cómo generar simple-xml java objeto anotado desde el esquema xsd
  • Androide MapView en el fragmento
  • EditText en ListView necesita ajustarResize pero tiene error de foco perdidoso
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.