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
- SimpleXML Constructor Exception - No se puede crear Inner Class
- HTTP Status 403 - No válido CSRF Token 'null' se encontró en el parámetro de solicitud
- R.java no está generando debido a appcompat v7?
- Error: "la clase debe implementar el método abstracto X", pero ya lo hace
- En evento de zoom para google maps en android
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
- Cómo guardar el estado del fragmento teniendo listview
- Uso de las clases Fragment y AppCompatActivity juntos
- Java equivalente para C ++ "std :: string :: find_first_of"
- Cómo obtener fechas de la base de datos y comprobar si se solapan?
- Llamar a DeleteLocalRef en la interfaz nativa de java
- ¿Cómo usar android.test.mock MockContext?
- Android: recibe todas las notificaciones por código
- Guardar los datos de acceso (preferencias) android
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();