android开发, 浏览器, 看网页

想开发一个新闻阅读器,一个列表,点进去读新闻,调用系统自带的浏览器看网页。但是系统自带的浏览器按返回是退到空白页而不是返回到新闻列表,而且很慢。我想像QQ空间那样,点进别... 想开发一个新闻阅读器,一个列表,点进去读新闻,调用系统自带的浏览器看网页。 但是系统自带的浏览器按返回是退到空白页而不是返回到新闻列表,而且很慢。 我想像QQ空间那样,点进别人的空间不用系统浏览器,而是在本软件直接显示。 怎么做? 要详细说明工作原理 及大概的实现方法。 满意的有加分! 展开
 我来答
zcphoenix
2013-04-10
知道答主
回答量:31
采纳率:0%
帮助的人:15.5万
展开全部
用webview做就可以实现这个功能,把URL传到webview内,就可以了,关于返回按钮的话都是自己写个系统按钮的监听,然后针对返回按钮关闭该webview的界面,就可以返回到你的新闻列表了。
追问
我是这么做的:
web_content = (WebView)findViewById(R.id.webView1);
WebSettings set = web_content.getSettings();
set.setSupportZoom(true);
set.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
web_content.loadUrl(path);
这会调用系统浏览器啊。 你能说清楚点吗。 最好有代码实例,我新手,不是很懂。 谢谢!
追答
webview想要他一直在自己的activity,需要给webview加个监听,并重写一些方法。

// 设置WebViewClient
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
});
webView.setWebChromeClient(new WebChromeClient() {
// 设置网页加载的进度条
public void onProgressChanged(WebView view, int newProgress) {
IPhoneActivity.this.getWindow().setFeatureInt(
Window.FEATURE_PROGRESS, newProgress * 100);
super.onProgressChanged(view, newProgress);
}
// 设置应用程序的标题title
public void onReceivedTitle(WebView view, String title) {
IPhoneActivity.this.setTitle(title);
super.onReceivedTitle(view, title);
}
public void onReachedMaxAppCacheSize(long spaceNeeded,
long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
quotaUpdater.updateQuota(spaceNeeded * 2);
}
});
// 覆盖默认后退按钮的作用,替换成WebView里的查看历史页面
webView.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
if ((keyCode == KeyEvent.KEYCODE_BACK)
&& webView.canGoBack()) {
webView.goBack();//这里如果不想他一直返回上一页的话,可以直接关闭这个activity
return true;
}
if (keyCode == KeyEvent.KEYCODE_MENU) {
这里可以加个弹出菜单,模仿下UC什么的

}
}
return false;
}
});
sanglozhang
2013-04-10 · 贡献了超过124个回答
知道答主
回答量:124
采纳率:0%
帮助的人:34.2万
展开全部
WebView webView = (WebView) findViewById(R.id.post_content_webview);//获取
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);//是否有滑动条
webView.getSettings().setJavaScriptEnabled(true);//是否能处理js
//如果不想跳转到流浪器,自己处理,设置WebViewClient

webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.loadUrl(url);//加载页面
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式