如何在定时器中 重新加载webview
时间: 2024-03-28 17:40:41 浏览: 52
你可以使用 `Handler` 和 `Timer` 类来实现定时器功能,并在定时器中重新加载 WebView。具体步骤如下:
1. 在 Activity 中定义 `Handler` 对象和 `Timer` 对象。
```
private Handler handler = new Handler();
private Timer timer = new Timer();
```
2. 在 `TimerTask` 中实现重新加载 WebView 的逻辑。
```
private TimerTask timerTask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
webView.reload();
}
});
}
};
```
3. 在 `onCreate` 方法中启动定时器,并设置定时器的时间间隔。
```
timer.schedule(timerTask, 0, 60000); // 每隔 60 秒重新加载 WebView
```
完整的代码如下所示:
```
public class MainActivity extends AppCompatActivity {
private WebView webView;
private Handler handler = new Handler();
private Timer timer = new Timer();
private TimerTask timerTask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
webView.reload();
}
});
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.web_view);
webView.loadUrl("https://www.example.com");
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
timer.schedule(timerTask, 0, 60000); // 每隔 60 秒重新加载 WebView
}
}
```
以上代码中的 `60000` 表示定时器的时间间隔为 60 秒,你可以根据需要进行修改。
阅读全文