2017-01-13 11 views
0

私はWebViewを持っているので、アレイに1つずつ保存されるいくつかのWebサイトを開く必要があります。これは無限に繰り返され、各ウェブサイトはx秒の間開いたままにすべきです。AndroidスタジオWebView

public class MainActivity extends AppCompatActivity { 
private String[] links = {"https://www.google.at/?gws_rd=ssl", "http://stackoverflow.com/"}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    View decorView = getWindow().getDecorView(); 
    int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN; 
    decorView.setSystemUiVisibility(uiOptions); 
    WebView myWebView = (WebView) findViewById(R.id.webview); 
    WebSettings webSettings = myWebView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    myWebView.setWebViewClient(new WebViewClient()); 
    while(true) { 
     myWebView.loadUrl(links[0]); 
     myWebView.loadUrl(links[1]); 
    } 
} 

ループなしでただ1つのリンクを開こうとすると、機能しています。しかし、私はループでそれを試してみると、私には黒い画面が表示されます。

+0

使用糸スレッドを参照してください。 // URL HERE } catch(InterruptedException e){ e.printStackTrace(); } } }); th.start(); –

+0

@RakshitNawaniそれは期待どおりに動作しません –

+0

ページの読み込みが終わったときに "onPageFinished"を使うことができます。コントローラーはここに行き、ここに新しいページを読み込むことができます –

答えて

0

は、私はあなたが試してみて考えて、この

int position=0; 
textview.setText("page started"); 
browser.loadUrl("your first url"); 
browser.setWebChromeClient(new WebChromeClient() 
{ 
    public void onProgressChanged(WebView view, int progress) 
    { 
     if(progress == 100) 
     { 
     textview.setText("page finished"); 
     if(position==0) 
     { 
      browser.loadUrl("your second url"); 
      position=1; 
      textview.setText("page started"); 
     } 
     if(position==1) 
     { 
      browser.loadUrl("your third url"); 
      position=2; 
      textview.setText("page started"); 
     } 
     } 
    } 

});詳細は

は=新しいスレッド(新しいRunnableを(){ @Override ます。public void実行(){ 試し{ のThread.sleep(3000)番目のリンクHow to load URL consecutively one by one

関連する問題