Texto con delay

Buenas chicos, no se si es el lugar más adecuado pero como cualquier ayuda es bien recibida porqué no intentarlo? Os dejo mi pequeña duda, se trata de android.

Quiero cambiar un textview varias veces con algo de delay, en vez de una imagen de carga o algo similar.

Por ejemplo, cuando tu pulses un botón diga algo como:

Calculando.

se actualiza por

Calculando...

Se actualiza por

"resultado"

La cosa es que he intentado crear hilos y demás pero siempre me pone el último solo. Se os ocurre algún modo?

Un saludo
4ris escribió:Buenas chicos, no se si es el lugar más adecuado pero como cualquier ayuda es bien recibida porqué no intentarlo? Os dejo mi pequeña duda, se trata de android.

Quiero cambiar un textview varias veces con algo de delay, en vez de una imagen de carga o algo similar.

Por ejemplo, cuando tu pulses un botón diga algo como:

Calculando.

se actualiza por

Calculando...

Se actualiza por

"resultado"

La cosa es que he intentado crear hilos y demás pero siempre me pone el último solo. Se os ocurre algún modo?

Un saludo



Si solo se te ve el ultimo supongo que sera porque solo utilizas "onPostExecute" para modificar el valor, supongo que tendrías que utilizar el método "onProgressUpdate" para ir actualizando el textview.

De todos modos, creo que lo mejor seria utilizar un ProgressBar.
Uso un handle, básicamente el código es el siguiente:

public void responde() {

       // if (respuestasPersonalizas = false) {



            if (sino == 1) {
                respuesta.setText(R.string.yes);

            } else if (sino == 2) {
                respuesta.setText(R.string.no);
            } else {
                respuesta.setText(R.string.dontknow);
            }

            sino = 0;
        }
    //}




    public void pensar(View v){
        respuesta.setText("Ummmm");
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        responde();
                    }
                });
            }

        }, 1000);

    }
Si entiendo bien tu pregunta, lo que buscas es que dos funciones independientes puedan cooperar entre si.

1-En The Art of Computer Programming, Donald Knuth presenta una solución simple a este tipo de problema: Corutinas.

Ayer leyendo un libro de Go me encontré co un problema similar al tuyo resuelto de una forma muy sencilla gracias a las "Goroutines".
(El código se entiende perfectamente aunque no estemos acostumbrados a usar Go).
Imagen


2-Puedes usar punteros a funciones-callbacks, en java puedes usar interfaces-polimorfismo.
Trabis escribió:Si entiendo bien tu pregunta, lo que buscas es que dos funciones independientes puedan cooperar entre si.

1-En The Art of Computer Programming, Donald Knuth presenta una solución simple a este tipo de problema: Corutinas.

Ayer leyendo un libro de Go me encontré co un problema similar al tuyo resuelto de una forma muy sencilla gracias a las "Goroutines".
(El código se entiende perfectamente aunque no estemos acostumbrados a usar Go).
Imagen


2-Puedes usar punteros a funciones-callbacks, en java puedes usar interfaces-polimorfismo.


El problema es que el textView no se actualiza como debiera aunque haya depurado, porque la lógica está bien hecha. Por lo que buscaba alternativas o saber el porqué del error.

Un saludo
4 respuestas