[英]Open pop up/external site link in current webview
我目前正在写一个Webview,它首先加载一个Twitter页面(例如NHL, http://twitter.com/nhl ),如您所见,您可以找到NHL的推文,每个NHL推文都有一个供用户使用的链接。单击,例如,bit.ly / ujcNZo
在我的Web视图中,如果我单击该链接(即bit.ly/ujcNZo),则1秒钟后,我的Web视图除了在白色背景上显示一个Twitter图标外,什么都没有显示,它应该加载内容,但没有。
经过一段时间的调查,我认为这与以下事实有关:推文中的链接(即bit.ly/ujcNZo)实际上是在单独的窗口中打开链接(弹出窗口),而不是当前页面所在的链接发布后,我通过在笔记本电脑的浏览器中转到NHL的Twitter页面来验证了这一点。
我的问题是:1.有没有办法可以在当前Web视图中加载外部链接的内容(例如,bit.ly / ujcNZo)?
您可以通过WebViewClient类进行控制。 只需扩展它并覆盖默认实现即可获得所需的配置,然后将其设置为当前Webview的客户端。
活动
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// set the webViewClient to a new instance of your custom WebViewClient
webview.setWebViewClient(new WebActivityClient( this ));
}
定制客户
/** WebViewClient class for WebView in WebActivity */
private class WebActivityClient extends WebViewClient {
public static final String TAG = "WebActivityClient";
private Context context;
/** Constructor used to grab the context */
public WebActivityClient( Context context ) {
this.context = context;
}
/** Override to load every link within the page inside this webview instead of using
* android's default application
* #7 http://developer.android.com/resources/tutorials/views/hello-webview.html */
@Override
public boolean shouldOverrideUrlLoading( WebView view, String url ) {
view.loadUrl(url);
return true;
}
}
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.