如何在android中的一个webview中打开我的链接?

问题描述:

我有一些网站的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"); 

    } 
} 

对于网页流量网站的加载,你可以使用这样的:

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; 
     } 
    } 

希望它有帮助

编辑:它看起来像你想要的是将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 –