android webview载入网页 网页中文本框输入的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android webview载入网页 网页中文本框输入的问题相关的知识,希望对你有一定的参考价值。

我做了一个webview 加载一个网页 网页里面有一个百度输入框 点击这个框 会弹出软键盘 然后使用软键盘输入 可是每点一次软键盘 我的webview就会滚动一下 滚动到上边 然后再滚动回来求解!!!

参考技术A 我也遇到这种情况过,比如你输入QQ帐号密码时也是弹出在你输入法上面,这是一个优化把 有利有弊,就按他说的改下把androidManifest.xml文件中设置你webview所在的Activity属性android:windowSoftInputMode="adjustPan" 就可以了,如果不行,把adjustPan换成adjustResize 参考技术B 你可以在androidManifest.xml文件中设置你webview所在的Activity属性android:windowSoftInputMode="adjustPan" 就可以了,如果不行,把adjustPan换成adjustResize

Android 应用程序中的编码问题 (WebView.LoadData())

【中文标题】Android 应用程序中的编码问题 (WebView.LoadData())【英文标题】:Encoding problems in Android Application (WebView.LoadData()) 【发布时间】:2012-08-30 01:59:55 【问题描述】:

我在我的 Android 应用程序中对网页的一部分进行编码时遇到问题。我所拥有的是一个收集网页的一部分并将其显示给用户的应用程序。对于这个问题,假设我有一个带有文本的网页,文本下方有一个表格,表格下方有很多我不感兴趣的垃圾。所以我选择使用第一个位置查看什么元素(例如一个唯一的标签)和一个结束位置(在那里相同,一些独特的东西。使用带有开始/结束位置的 inputstreamreader。

然后在我的字符串(“字符串”)中运行:

String s = Uri.encode(string);

然后相应地使用字符串 s:

web.loadData(s, "text/html","ISO-8859-1");

但这在文本中间给了我一些不需要的字符:“”出现。我试图在字符串中运行 .replace("Â", "");但这并不能解决问题。

我也尝试了以下方法:

web.loadData(s, "text/html", "UTF-8");

web.loadData(s,"text/html;utf-8",null);

但是“”和一两个“*”仍然出现?

一直在网上搜索,发现:loadDataWithBaseUrl但这也不能解决问题,所以我非常希望得到帮助:)

在页面顶部:

<html xmlns="http://www.w3.org/1999/xhtml" lang="sv-se" dir="ltr">

在另一个页面上:

<html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" dir="ltr">

所以我有一个英文页面和一个瑞典文页面,但错误是关于两个 url:s。

最好的问候!

【问题讨论】:

你解决了吗?我看到了同样的问题。 不,还没有完全解决,如果你有什么想法请告诉我... 可能是发送方使用不当。它只是偶尔发生,并且可能仅来自某些电子邮件客户端。你看到什么模式了吗?现在,我只是在做 s.replace ("\u00A0", " ").replace ('\n', ' '); 【参考方案1】:

使用这个:

webview.loadData(html_content, "text/html; charset=utf-8", "utf-8");

我测试了它,它可以工作。

【讨论】:

【参考方案2】:

这段代码对我有用。

String base64EncodedString = null;
                        try 
                            base64EncodedString = android.util.Base64.encodeToString((preString+mailContent.getBody()+postString).getBytes("UTF-8"), android.util.Base64.DEFAULT);
                         catch (UnsupportedEncodingException e1) 
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        
                        if(base64EncodedString != null)
                        
                            wvMailContent.loadData(base64EncodedString, "text/html; charset=utf-8", "base64");  
                        
                        else
                        
                            wvMailContent.loadData(preString+mailContent.getBody()+postString, "text/html; charset=utf-8", "utf-8");
                        

【讨论】:

以上是关于android webview载入网页 网页中文本框输入的问题的主要内容,如果未能解决你的问题,请参考以下文章

Android WebView 开发具体解释

Android WebView 开发具体解释

WebView调用有道词典实如今线查词

在 Android 中预加载网页(使用 WebView?)

Android:禁用网页视图中的文本选择

Android 应用程序中的编码问题 (WebView.LoadData())