2011-07-07 11 views
1

ハンドラーtimer.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; 

     } 
    } 
+1

どのユーザーストリングですか?引く? – mibollma

+0

申し訳ありません。文字列cを200000 – Chris

答えて

0

このようにしますか?

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

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

の代わりにtimer.postDelayed行で選択した時間にするにはどうすればよいですか?それは時間間隔でリロードされませんが、リースではクラッシュしません。 :) – Chris

関連する問題