java - 如何将用户字符串拉入timer.postDelayed

标签 java android timer handler postdelayed

如何将用户字符串拉入处理程序timer.postDelayed?

 public class Quotes extends Activity implements OnClickListener {

 ProgressDialog dialog;
 private WebView webview;
 Handler timer;
 Runnable runner;

 @Override
 public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

      WebView adsview = (WebView) findViewById(R.id.ads);
      adsview.getSettings().setJavaScriptEnabled(true);
      adsview.loadUrl("http://www.dgdevelco.com/quotes/androidad.html");

      SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(getBaseContext());

      String q = SP.getString("appViewType","http://www.google.com");
      String c = SP.getString("appRefreshRate","20000");

      webview = (WebView) findViewById(R.id.scroll);
      webview.getSettings().setJavaScriptEnabled(true);
      webview.setWebViewClient(new QuotesWebView(this));
      webview.loadUrl(q);

      runner = new Runnable() {
      @Override
      public void run() {
           timer.postDelayed(runner, 2000000);
           webview.reload();
      }
      };
      timer = new Handler();
      timer.postDelayed(runner, 10000);

      findViewById(R.id.refresh).setOnClickListener(this);

 }

 @Override
 public void onPause(){
  super.onPause();
  try {
      timer.removeCallbacks(runner);
  } catch (Exception ex) {
      Log.e("MY APP ERROR", ex.getMessage());
  }
 }

 @Override
 public void onStop(){
  super.onStop();
  try {
      timer.removeCallbacks(runner);
  } catch (Exception ex) {
      Log.e("MY APP ERROR", ex.getMessage());
  }
 }

 public void onClick(View v){
      switch(v.getId()){
       case R.id.refresh:
      webview.reload();
       break;
     }
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
      MenuInflater inflater = getMenuInflater();
      inflater.inflate(R.menu.menu, menu);

      MenuItem about = menu.getItem(0);
      about.setIntent(new Intent(this, About.class));

      MenuItem preferences = menu.getItem(1);
      preferences.setIntent(new Intent(this, Preferences.class));

      return true;

      }
  }   

最佳答案

像这样吗?

final String c = SP.getString("appRefreshRate","20000");

runner = new Runnable() {
      @Override
      public void run() {
           timer.postDelayed(runner, Long.valueOf(c));
           webview.reload();
      }

关于java - 如何将用户字符串拉入timer.postDelayed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6616362/

相关文章:

java - 如何在处理中的不同时间间隔后触发不同的事件?

java - 将整数转换为浮点型

java - Android 内存不足错误?

java - 安装 elki 时打开注册表项 ‘Software\JavaSoft\JRE’ 时出错

android - 如何在 Android Studio 中使用 Active Directory 或 LDAP 验证用户名和密码

android - 如何在 Ubuntu 12.04 LTS 中开始使用 Cocos2d-X?

Java 队列定时器

javascript - 防止计时器在窗口处于非事件状态时停止 Javascript

java - 嵌入式代理 Active MQ 启动

java - 通过不同的方法写入文件