Actualización de la interfaz de usuario de Android con temporizador

Soy nuevo en la programación de Android, busqué en todas las respuestas sobre este tema, pero aún no puedo implementar lo que quiero hacer. Mi problema es: quiero actualizar la imagen en la vista de imagen con otra imagen en períodos determinados. La vista de imagen es necesaria para actualizarse con diferentes imágenes cada vez, un total de 15-20 veces. Esto es lo que he hecho hasta ahora, pero no funciona en absoluto.

public class IlkMasal extends Activity {

    MediaPlayer sound;
    private Handler m_handler;
    private ImageView image;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.firsttale);
        m_handler = new Handler();


    Button menu = (Button)findViewById(R.id.Button01);
    Button startbutton = (Button)findViewById(R.id.button1);

    sound = MediaPlayer.create(this, R.raw.music4);
    sound.start();
    image = (ImageView)findViewById(R.id.imageView1);
    image.setImageResource(R.drawable.picture2);

    startbutton.setOnClickListener(new OnClickListener(){
        public void onClick(View v){
            m_handler.removeCallbacks(m_statusChecker);
            m_handler.postDelayed(m_statusChecker, 2000);
        }
    });

    menu.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Intent main= new Intent("android.intent.action.MAIN");
            startActivity(main);
        }  
    });

    }

    Runnable m_statusChecker = new Runnable()
    {
        public void run(){
            image.setImageResource(R.drawable.picture3);
            m_handler.removeCallbacks(m_statusChecker);
            m_handler.postDelayed(m_statusChecker, 2000);
        }
    };
}

Después de hacer clic en el botón de inicio, quiero actualizar la interfaz de usuario con diferentes imágenes cada vez. Apreciaré su ayuda.

Respuesta 1

Puede configurar este ejecutable para que se ejecute en su onClic y aún necesitará un método para obtener la siguiente imagen que desea mostrar.

final int delay = 5000;
final int period = 1000;
final Runnable r = new Runnable() {
   public void run() {
    image.setImageResource(getNextPicture());
    postDelayed(this, period);
   }
 };

postDelayed(r, delay);

Saludos.

Respuesta: 2

Actualmente tengo un problema con las condiciones previas de liquibase. Me gustaría insertar algo solo si una solicitud de condición previa no responde 0 o es nula ... Explico: <changeSet id = "myId" author = "myName" ...

Cuando guardo un JTextPane con estilo como RTF, y luego lo vuelvo a abrir, la alineación del texto no se conserva. Estos son mis métodos: private void saveAsRTF (File outfile) {RTFEditorKit rtfkit = new RTFEditorKit (); ...

Soy novato en Java y he escrito una API y me gustaría distribuirla. Estoy creando un archivo Jar para hacer una API, pero mi programa usa otras API como Jena y XSOM. ¿Cómo incluyo ...

Estoy tratando de ejecutar un microservicio como una aplicación de arranque de primavera que depende de RocksDB. Actualmente estoy atrapado recibiendo una excepción a continuación. Entorno: Windows 10 v.1809 OpenJDK 10.2 Build system - ...