定期刷新/重新加载活动

Raf*_*ffe 6 android

我有一项活动.OnCreate活动将网页的源(html)获取为字符串,并在textview中显示结果(稍微解析一下).

我希望活动定期重新加载/刷新以始终显示最新信息.

什么是最好的解决方案?

Cri*_*ian 28

首先......将更新逻辑与您的onCreate方法分开.所以,例如,你可以创建一个updateHTML().

然后,您可以使用a Timer来定期更新页面:

public class YourActivity extends Activity {

 private Timer autoUpdate;

 public void onCreate(Bundle b){
  super.onCreate(b);
  // whatever you have here
 }

 @Override
 public void onResume() {
  super.onResume();
  autoUpdate = new Timer();
  autoUpdate.schedule(new TimerTask() {
   @Override
   public void run() {
    runOnUiThread(new Runnable() {
     public void run() {
      updateHTML();
     }
    });
   }
  }, 0, 40000); // updates each 40 secs
 }

 private void updateHTML(){
  // your logic here
 }

 @Override
 public void onPause() {
  autoUpdate.cancel();
  super.onPause();
 }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我正在取消更新任务onPause,并且在这种情况下,该updateHTML方法每40秒(40000毫秒)执行一次.另外,请确保导入这两个类:java.util.Timerjava.util.TimerTask.