如何在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");
感谢的答案,但我问题是在我自己的webview活动中打开网站。我对浏览器没有任何问题。我有一个列表视图。当用户点击listview上的项目时,它应该在我自己的webview中打开链接。例如'myWebView.loadUrl(“http://www.google.com”);'我想要它改变网址,并开始webview活动,当用户点击列表视图中的一个项目。 –
所以你想要从一个ListView的活动更改为另一个具有WebView的活动? – SERPRO
正是我想要更改网址并启动webview –