我正试图在我的glView上设置其他布局(在我的情况下:一个WebView)。
glView = new GLSurfaceView(this);
glView.setRenderer(this);
setContentView(glView);
我搜索并阅读了有关此内容的文章,并且所有建议我应该这样做:
我遵循以下建议:
glview is declared in other class file (as i wrote above)
然后在我的实际班级......
webView = new WebView(glGame);
glGame.addContentView(rl, null);
rl.addView(webView);
但是,我收到了这个错误:
08-26 19:37:21.855: E/AndroidRuntime(23376): FATAL EXCEPTION: GLThread 23363
08-26 19:37:21.855: E/AndroidRuntime(23376): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.os.Handler.<init>(Handler.java:197)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.os.Handler.<init>(Handler.java:111)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.webkit.WebViewClassic$PrivateHandler.<init>(WebViewClassic.java:12520)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.webkit.WebViewClassic.<init>(WebViewClassic.java:2144)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.webkit.WebViewClassic$Factory.createWebView(WebViewClassic.java:3021)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.webkit.WebView.ensureProviderCreated(WebView.java:1980)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.webkit.WebView.setOverScrollMode(WebView.java:2033)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.view.View.<init>(View.java:3381)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.view.View.<init>(View.java:3434)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.view.ViewGroup.<init>(ViewGroup.java:446)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:52)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.webkit.WebView.<init>(WebView.java:510)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.webkit.WebView.<init>(WebView.java:487)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.webkit.WebView.<init>(WebView.java:468)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.webkit.WebView.<init>(WebView.java:457)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.webkit.WebView.<init>(WebView.java:447)
08-26 19:37:21.855: E/AndroidRuntime(23376): at com.phielosoft.androidgames.jnftt.LevelScreen.<init>(LevelScreen.java:38)
08-26 19:37:21.855: E/AndroidRuntime(23376): at com.phielosoft.androidgames.jnftt.MainMenuScreen.update(MainMenuScreen.java:50)
08-26 19:37:21.855: E/AndroidRuntime(23376): at com.phielosoft.androidgames.framework.impl.GLGame.onDrawFrame(GLGame.java:93)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1524)
08-26 19:37:21.855: E/AndroidRuntime(23376): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1248)
答案 0 :(得分:0)
你的代码是否在一个与UI线程不同的线程中添加webView,我的意思是,是在Task executor中还是什么?
顺便说一句。您可以使用布局实现图层效果,只需设置元素的可见标记,如下所述:Layout Layers? Z-Axis?