英文:
Is there a way to refresh webView every x seconds?
问题
现在我有这个用于重新加载 webView 的函数:
public void reloadWebView() {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
webView.reload();
}
}, 5000);
}
并且它在 onCreate 函数中被调用:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
reloadWebView();
}
这个函数能够工作,但它只会运行一次。
英文:
Now I have this function for reload webView:
public void reloadWebView() {
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
webView.reload();
}
}, 5000);}
And it is called on onCreate function
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
reloadWebView();
}
The function works but it only runs once
答案1
得分: 1
以下是要翻译的内容:
这里是用于在 x 秒后更新您的 Web 视图的代码。
new CountDownTimer(5000, 1000) {
public void onTick(long millisUntilFinished) {
webView.reload();
// 这里您可以编写重新加载 Web 视图的逻辑
}
public void onFinish() {
// 如果有的话,隐藏进度条
}
}.start();
英文:
Here is code to update your webview after x seconds
new CountDownTimer(5000, 1000) {
public void onTick(long millisUntilFinished) {
webView.reload();
//here you can have your logic to reload webview
}
public void onFinish() {
// hide progress bar if any
}
}.start();
答案2
得分: 1
在前台运行的情况下,很容易解决:
Handler handler = new Handler();
public void reloadWebView() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
webView.reload();
reloadWebView();
}
}, 5000);
}
请注意,handler
现在是一个字段,位于 reloadWebView()
方法之外。现在在你的 onCreate()
中调用它:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
reloadWebView();
}
英文:
Easy to solve as long as the Activity
is running in foreground:
Handler handler = new Handler();
public void reloadWebView() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
webView.reload();
reloadWebView();
}
}, 5000);}
Note that handler is now a field, out of reloadWebView()
.
Now call it in your onCreate()
:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
reloadWebView();
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论