2012-12-24 31 views
4

我有我的WebView裏面DialogFragment顯示登錄頁面,在用戶已經介紹了用戶名和密碼後,系統提示保存他的密碼,但如果用戶在那一刻旋轉手機,WebView將會對用戶隱藏提示,從而無法重新輸入/重寫數據,在這些功能中禁用WebView,並且在這種特殊情況下DialogFragment在配置更改中仍然存在,用戶將無法提交數據,即使我再次更改配置,另一個問題是內部操作系統不會恢復,直到我重建所有內容爲止,例如,我離開WebView,當我重新創建它時,鍵盤直到配置更改aga在。Webview保存密碼旋轉問題

崩潰日誌如下:

12-24 08:36:21.694: E/WindowManager(21235): Activity com.example.twitterlibraryservice.MainActivity has leaked window [email protected] that was originally added here 
12-24 08:36:21.694: E/WindowManager(21235): android.view.WindowLeaked: Activity com.example.twitterlibraryservice.MainActivity has leaked window [email protected] that was originally added here 
12-24 08:36:21.694: E/WindowManager(21235):  at android.view.ViewRoot.<init>(ViewRoot.java:255) 
12-24 08:36:21.694: E/WindowManager(21235):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 
12-24 08:36:21.694: E/WindowManager(21235):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 
12-24 08:36:21.694: E/WindowManager(21235):  at android.view.Window$LocalWindowManager.addView(Window.java:424) 
12-24 08:36:21.694: E/WindowManager(21235):  at android.app.Dialog.show(Dialog.java:241) 
12-24 08:36:21.694: E/WindowManager(21235):  at android.app.AlertDialog$Builder.show(AlertDialog.java:802) 
12-24 08:36:21.694: E/WindowManager(21235):  at android.webkit.WebView.onSavePassword(WebView.java:1065) 
12-24 08:36:21.694: E/WindowManager(21235):  at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:431) 
12-24 08:36:21.694: E/WindowManager(21235):  at android.os.Handler.dispatchMessage(Handler.java:99) 
12-24 08:36:21.694: E/WindowManager(21235):  at android.os.Looper.loop(Looper.java:143) 
12-24 08:36:21.694: E/WindowManager(21235):  at android.app.ActivityThread.main(ActivityThread.java:4717) 
12-24 08:36:21.694: E/WindowManager(21235):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-24 08:36:21.694: E/WindowManager(21235):  at java.lang.reflect.Method.invoke(Method.java:521) 
12-24 08:36:21.694: E/WindowManager(21235):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
12-24 08:36:21.694: E/WindowManager(21235):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
12-24 08:36:21.694: E/WindowManager(21235):  at dalvik.system.NativeStart.main(Native Method) 

編輯 更正了WebView鍵盤問題,要求重點在創建後。

mWebView.requestFocus(); 

回答

0

我想你的Activiy不處理方向的變化。因此,Android操作系統正在消滅你的活動並創建一個新的方向。

您可以嘗試調用您的活動的中的DialogFragment的dimiss方法。

這可能會解決你的泄漏,但行爲可能不會是你所期待的。