2011-11-02 73 views
0

我有一些網站的ListView。我想要的是當用戶點擊listview時,這些網站顯示在同一個webview中,而不是開始一個新的活動。我怎樣才能做到這一點?如何在android中的一個webview中打開我的鏈接?

這裏是我的網頁流量的java:

import android.app.Activity; 
import android.app.ProgressDialog; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class Aftonbladet extends Activity { 
    private WebView myWebView; 
    /** Called when the activity is first created. */ 
    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) { // Enables browsing to previous pages with the hardware back button 
      myWebView.goBack(); 
      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 


    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.webview); 
     final ProgressDialog pd = ProgressDialog.show(this, "", "Loading...", 
       true); 

     myWebView = (WebView) findViewById(R.id.mywebview); 
     myWebView.getSettings().setJavaScriptEnabled(true); 
     myWebView.getSettings().setSupportZoom(true); 
     myWebView.getSettings().setBuiltInZoomControls(true); 
     myWebView.setWebViewClient(new WebViewClient() { 
      @Override 
      public void onPageFinished(WebView view, String url) { 
       if(pd.isShowing() && pd!=null) 
       { 
       pd.dismiss(); 
       } 
      } 
     }); 
     myWebView.loadUrl("http://www.google.com"); 

    } 
} 

回答

1

對於網頁流量網站的加載,你可以使用這樣的:

webview = (WebView) findViewById(R.id.webview); 
        webview.getSettings().setJavaScriptEnabled(true); 
       webview.loadUrl("http://www.linkedin.com"); 
       webview.getSettings().setPluginState(PluginState.ON); 
        webview.getSettings().setAllowFileAccess(true); 
        webview.setWebViewClient(new MyWebViewClient()); 

和你MyWebViewClient類是:

private class MyWebViewClient extends WebViewClient { 
     @Override 
     //show the web page in webview but not in web browser 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl (url); 
      return true; 
     } 
    } 

希望它有幫助

0

編輯:它看起來像你想要的是將URL從一個活動傳遞給另一個。爲了實現這一目標,你可以使用SharedPreferences或putExtras的意圖像這樣在你的ListView活動:

Intent myIntent = new Intent(this, Aftonbladet.class); 
    Bundle b = new Bundle(); 
    b.putString("url", theURL); 
    myIntent.putExtra(b); 
    startActivity(myIntent); 

,然後在你的WebView活動你可以得到價值:

Bundle b = this.getIntent().getExtras(); 
    String url = b.getString("url"); 
+0

感謝的答案,但我問題是在我自己的webview活動中打開網站。我對瀏覽器沒有任何問題。我有一個列表視圖。當用戶點擊listview上的項目時,它應該在我自己的webview中打開鏈接。例如'myWebView.loadUrl(「http://www.google.com」);'我想要它改變網址,並開始webview活動,當用戶點擊列表視圖中的一個項目。 –

+0

所以你想要從一個ListView的活動更改爲另一個具有WebView的活動? – SERPRO

+0

正是我想要更改網址並啓動webview –

相關問題