I have an application where clicking on an item in a list shows
webview with javascript injected.I need to save the webview object so
that when the user presses the same item again the existing webview is
shown instead of reloading it and injecting the javascript again.I am
able to save the webview object in Arraylist of webview inside the
application class.
I check whether the item already exists in the Arraylist and if it do
exists take the corresponding object and set the object as the content
of the activity as shown below.
temp_WebView=new WebView(this);
temp_WebView=(WebView)application.getWebview(j);
ViewGroup parent = (ViewGroup)
application.getWebview(j).getParent();
parent.removeView(application.getWebview(j));
setContentView(temp_WebView);
This works fine but when clicking on any of the select box inside the
webview where a dialog is populated it gets crashed with the
following error,
WARN/WindowManager(60): Attempted to add application window with
unknown token HistoryRecord{4506d1e8 tabviewapp.com/.Webresults}.
Aborting.
DEBUG/AndroidRuntime(500): Shutting down VM
WARN/dalvikvm(500): threadid=1: thread exiting with uncaught
exception (group=0x4001d800)
ERROR/AndroidRuntime(500): FATAL EXCEPTION: main
ERROR/AndroidRuntime(500): android.view.WindowManager
$BadTokenException: Unable to add window -- token
android.os.BinderProxy@45034510 is not valid; is your activity
running?
ERROR/AndroidRuntime(500): at
android.view.ViewRoot.setView(ViewRoot.java:505)
ERROR/AndroidRuntime(500): at
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
ERROR/AndroidRuntime(500): at
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
ERROR/AndroidRuntime(500): at android.view.Window
$LocalWindowManager.addView(Window.java:424)
ERROR/AndroidRuntime(500): at android.app.Dialog.show(Dialog.java:
241)
ERROR/AndroidRuntime(500): at android.webkit.WebView
$InvokeListBox.run(WebView.java:7095)
ERROR/AndroidRuntime(500): at
android.os.Handler.handleCallback(Handler.java:587)
ERROR/AndroidRuntime(500): at
android.os.Handler.dispatchMessage(Handler.java:92)
ERROR/AndroidRuntime(500): at android.os.Looper.loop(Looper.java:
123)
ERROR/AndroidRuntime(500): at
android.app.ActivityThread.main(ActivityThread.java:4627)
ERROR/AndroidRuntime(500): at
java.lang.reflect.Method.invokeNative(Native Method)
ERROR/AndroidRuntime(500): at
java.lang.reflect.Method.invoke(Method.java:521)
ERROR/AndroidRuntime(500): at com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:868)
ERROR/AndroidRuntime(500): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
ERROR/AndroidRuntime(500): at
dalvik.system.NativeStart.main(Native Method)
WARN/ActivityManager(60): Force finishing activity
tabviewapp.com/.Webresults
I think the problem is with the context of the webview but not able to
figure out how to set the context for the existing object or pass
context to dialog generated inside the webview.
Thanks in advance.
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en