entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

Recorrer Array en Android

Hola
Necesito recorrer un array en android, mostrando una posición a la vez, he probado con ViewFlipper y TextView, utilizando un ciclo FOR, pero solo me muestra la ultima posición, aparte necesito que lo recorra solo sin necesidad de alguna acción como un click,


    TextView flor;
    ViewFlipper flippy;
    String[] flores={"Rosas", "Orquideas", "Margaritas", "Claveles"};
    int x,y=-1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.etapa1_vista);
         flippy=(ViewFlipper)findViewById(R.id.vfpVista);
         flor=(TextView)findViewById(R.id.tvPrimer);   
             y++;
        for(x=0;x<flores.length;x++){
              flor.setText(flores[y]);
        }
    }

Alguien que me pueda ayudar ó si es recomendable hacerlo con estos objetos.

0voto

Peter comentado

¿Te funcionó alguna respuesta?

3 Respuestas

2votos

ness Puntos320

@x4mp73r gracias, pero solo me mostró la ultima posición.
La única forma que pude resolver mi problema fue utilizando un timer

String[] flores={"Rosas", "Orquideas", "Margaritas", "Claveles"};
 time=0;
 t = new Timer();
        TimerTask task = new TimerTask()
        {
            public void run()
            {
                runOnUiThread(new Runnable()
                {
                    public void run()
                    {
                      if(time>=0 && time<=6)
                       {
                            texto.setText(flores[time]);
                               time++;
                        }
                   }
                });
            }
        };
        t.scheduleAtFixedRate(task, 0, 1000);

1voto

Peter comentado

Gracias por compartir la solución!

3votos

x4mp73r Puntos13390

Intenta con esto:

ArrayList<String> flores= new ArrayList<String>();

   flores.add("Rosas");
   flores.add("Orquideas");
   flores.add("Margaritas");
   flores.add("Claveles");

int size=flores.size();

for(int x=0;x<flores.size();x++) {
    Log.d(TAG,"resultado"+flores.get(x));
}

Lo que resulta te lo muestra en la consola Log, ya sería cuestión que lo personalices con TextView o lo que desees.

Ahora, si necesitas que se ejecute sin la necesidad de algún click, yo por ejemplo lo metía dentro de un método y ese mismo lo llamaba desde onCreate(), tal como lo tienes arriba:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.etapa1_vista);
         metodoRecorrerArray();
    }

2votos

Jparrgam Puntos800
//algo así se podría hacer
ArrayList<String> items = new ArrayList<String>();
items.add("item1");
items.add("item2");
items.add("item3");
items.add("item4");

for(String item : items) {
   flor.setText(item);
}

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta