Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WebView-在X秒后无限加载新的URL/文件_Java_Android_Html_Android Webview - Fatal编程技术网

Java WebView-在X秒后无限加载新的URL/文件

Java WebView-在X秒后无限加载新的URL/文件,java,android,html,android-webview,Java,Android,Html,Android Webview,我需要能够在WebView中加载URL/文件,然后在X秒后加载另一个URL/文件(例如,存储在数组中) 我可以成功地加载网页1,但是当我在第一个.loadURL()方法之后调用Thread.sleep(),然后是一个新的.loadURL()和一个新的文件引用,运行应用程序时,第一个文件不会显示,而是跳到第二个文件 代码: 正如您所看到的,这不是一个循环,因为这是我的另一个问题,我不知道如何将其实现到一个循环中(我至少想在处理循环之前让这一点起作用) 谢谢 您需要在线程或处理程序中执行代码 fil

我需要能够在WebView中加载URL/文件,然后在X秒后加载另一个URL/文件(例如,存储在数组中)

我可以成功地加载网页1,但是当我在第一个.loadURL()方法之后调用Thread.sleep(),然后是一个新的.loadURL()和一个新的文件引用,运行应用程序时,第一个文件不会显示,而是跳到第二个文件

代码:

正如您所看到的,这不是一个循环,因为这是我的另一个问题,我不知道如何将其实现到一个循环中(我至少想在处理循环之前让这一点起作用)


谢谢

您需要在线程或处理程序中执行代码

file = new File(file_1.html");
webView.loadUrl("file:///" + file.getAbsolutePath());

new Handler().postDelayed(new Runnable() {

            public void run() {

                file = new File(file_2.html");
                webView.loadUrl("file:///" + file.getAbsolutePath());
            }

        }, 1000);

使用计时器:

timer = new Timer();
timer.schedule(new MyTask(), 0, 5000);

class MyTask extends TimerTask {

        @Override
        public void run() {
            file = new File("file_1.html");
            webView.loadUrl("file:///" + file.getAbsolutePath());

            try {
                Thread.sleep(1000 * 10); // 10 seconds
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            file = new File("file_2.html");
            webView.loadUrl("file:///" + file.getAbsolutePath());

        }
    }

如何将其实现为一个循环?此外,我需要能够改变时间延迟。我一直在研究定时器类,这是一个好的开始吗?你到底想做什么?是的,如果你想重复你的任务,你可以使用定时器。没问题。如果我不清楚,很抱歉:)我需要循环一个ArrayList,它将包括文件名和查看它的秒数。当时间改变时,我如何使用计时器?我会在循环内使用单定时器任务吗?
Thread t = new Thread() {
            public void run() {
                try {
                    //task 1...
                    Thread.sleep(1000);
                    //task 2...
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {

            }
        }
};

t.start();
timer = new Timer();
timer.schedule(new MyTask(), 0, 5000);

class MyTask extends TimerTask {

        @Override
        public void run() {
            file = new File("file_1.html");
            webView.loadUrl("file:///" + file.getAbsolutePath());

            try {
                Thread.sleep(1000 * 10); // 10 seconds
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            file = new File("file_2.html");
            webView.loadUrl("file:///" + file.getAbsolutePath());

        }
    }