在Android上继续之前等待线程

mes*_*ada 23 java multithreading android

我有一个线程,但我想等待它完成后再继续下一步行动.我怎么能这样做?

            new Thread(

                    new Runnable() {

                        @Override
                        public void run() {
                            mensaje = getFilesFromUrl(value);
                        }

                    }).start();
Run Code Online (Sandbox Code Playgroud)

在这里我想放一些东西(但循环)知道什么时候线程完成并评估结果(mensaje)

            btnOk.setVisibility(View.VISIBLE);
            progressBar.setVisibility(View.GONE);
            lblEstado.setText(mensaje);

            if(mensaje.equals("Importado"))
                startActivity(new Intent(ScanUrl.this, MainActivity.class));
Run Code Online (Sandbox Code Playgroud)

xag*_*gyg 45

Thread t = new Thread(new Runnable() {
                        @Override
                        public void run() {
                            mensaje = getFilesFromUrl(value);
                        }});

t.start(); // spawn thread

t.join();  // wait for thread to finish
Run Code Online (Sandbox Code Playgroud)

  • 需要将t.join()放在try范围中,如下所示:`try {t.join(); } catch(InterruptedException e){e.printStackTrace(); }` (4认同)