Webview内容未加载所有设备

时间:2016-02-04 07:48:27

标签: android xml webview

我正在使用webview将数据从服务器加载到设备。但它没有加载像Moto x和一些设备加载的少数设备但是当从webview页面转到另一页面并返回到同一页面然后webview内容丢失。这发生在Xperia z.Other设备三星,Xiomi everthing工作正常。< / p>

问题是什么以及如何解决这个问题所以webview数据可以很好地呈现所有设备。

LOGCAT - :

[AdapterInputConnection.java:499] finishComposingText
 D/cr_Ime: [AdapterInputConnection.java:499] finishComposingText
 D/cr_Ime: [AdapterInputConnection.java:145] Constructor called with outAttrs:  inputType=0xa1 imeOptions=0x12000000 privateImeOptions=null
 D/cr_Ime: actionLabel=null actionId=0
 D/cr_Ime: initialSelStart=0 initialSelEnd=0 initialCapsMode=0x0
 D/cr_Ime: hintText=null label=null
 D/cr_Ime: packageName=com.org.AmarUjala.news fieldId=-1 fieldName=null
 D/cr_Ime: extras=null
 D/cr_Ime: [AdapterInputConnection.java:499] finishComposingText
 D/cr_Ime: [AdapterInputConnection.java:499] finishComposingText

这里是Xml代码

          <WebView
            android:id="@+id/storyText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" 
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:lineSpacingExtra="3dp"
            android:scrollbars="none"
            android:visibility="gone"
            android:textColor="@color/black" /> 

这是Java代码:

int currentApi = android.os.Build.VERSION.SDK_INT;
mWebView.setInitialScale(0);
mWebView.requestFocus(View.FOCUS_DOWN);
mWebView.requestFocusFromTouch();
WebSettings settings = mWebView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setBuiltInZoomControls(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setDomStorageEnabled(true);
settings.setLoadsImagesAutomatically(true);
settings.setSupportZoom(false);
settings.setAppCacheEnabled(false);
settings.setSavePassword(false);
settings.setPluginState(WebSettings.PluginState.ON);
settings.setLoadsImagesAutomatically(true);
settings.setAllowFileAccess(true);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadDataWithBaseURL("", ftext,"text/html",utf-8,"");              
mWebView.setVisibility(View.VISIBLE);

1 个答案:

答案 0 :(得分:0)

有些配置没有任何区别,也许您可​​以删除它们:

mWebView.setInitialScale(0); // This is 0 by default scale

settings.setAppCacheEnabled(false); // This is false by default

settings.setLoadsImagesAutomatically(true); //This is twice
settings.setLoadsImagesAutomatically(true); //This is twice

settings.setPluginState(WebSettings.PluginState.ON); // This is deprecated since API level 18

如果那些给您带来麻烦的设备在API级别18+上运行,则可能是上述问题。

然后,即使您使用此方法,您似乎也没有从URL加载内容:

mWebView.loadDataWithBaseURL("", ftext,"text/html",utf-8,""); //The first parameter is empty and could lead to 'about:blank'

如果从远程服务器加载并且有url,请使用loadDataWithBaseURL,否则如果从本地加载,则使用其他方法,如:   webview.loadData(summary, "text/html", null);

修改 然后根据您的最新评论,我会保存用户在集合中导航的Url,甚至将scrollY保存在这些特定设备中。然后听Back按钮并浏览这些设备中的保存URL,如果需要,在每个页面上重新加载页面。