错误如下:android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRoot.checkThread(ViewRoot.java:3020)
at android.view.ViewRoot.invalidateChild(ViewRoot.java:647)
at android.view.ViewRoot.invalidateChildInParent(ViewRoot.java:673)
at android.view.ViewGroup.invalidateChild(ViewGroup.java:2511)
at android.view.View.invalidate(View.java:5332)
at android.view.View.onFocusChanged(View.java:2793)
at android.view.View.clearFocusForRemoval(View.java:2706)
at android.view.ViewGroup.removeAllViewsInLayout(ViewGroup.java:2295)
at android.view.ViewGroup.removeAllViews(ViewGroup.java:2260)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)at android.app.Activity.setContentView(Activity.java:1657)
at android.Lenged.Main.CGameNet.openUI_LoginID(CGameNet.java:27)//之前SurfaceView在运行,然后调用openUI_LoginID函数,函数内通过
setContentView( R.layout.regid);切换VIEW但是这个时候就报错了请问是怎么导致的,应该怎么切换比较 好?
at android.view.ViewRoot.checkThread(ViewRoot.java:3020)
at android.view.ViewRoot.invalidateChild(ViewRoot.java:647)
at android.view.ViewRoot.invalidateChildInParent(ViewRoot.java:673)
at android.view.ViewGroup.invalidateChild(ViewGroup.java:2511)
at android.view.View.invalidate(View.java:5332)
at android.view.View.onFocusChanged(View.java:2793)
at android.view.View.clearFocusForRemoval(View.java:2706)
at android.view.ViewGroup.removeAllViewsInLayout(ViewGroup.java:2295)
at android.view.ViewGroup.removeAllViews(ViewGroup.java:2260)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)at android.app.Activity.setContentView(Activity.java:1657)
at android.Lenged.Main.CGameNet.openUI_LoginID(CGameNet.java:27)//之前SurfaceView在运行,然后调用openUI_LoginID函数,函数内通过
setContentView( R.layout.regid);切换VIEW但是这个时候就报错了请问是怎么导致的,应该怎么切换比较 好?
解决方案 »
- cocos2d-android在创建CCGLSurfaceView的时候报找不到类异常
- 求解关于DownloadManager下载
- android怎么适应平板电脑屏幕大小
- 请教如何设置 android RelativeLayout 控件之间没有间距
- android 电源配置
- android状态栏中的3G、信号等图标怎么从右边弄到左边?
- android jni c调用java方法失败,同一个方法直接java调用时ok的,为什么?
- android 有没有更改默认字体颜色的功能?
- ListView的点击问题
- android使用weight布局碰到个问题
- 寻求那种将文字转化为声音的方法
- 有经验的高手都来啊
重点是这句
Android UI操作只能在UI线程中操作
猜测楼主把setContentView放在了非UI线程中
建议使用Handler,在原setContentView位置替换为向handler发送message,在handler中setContentView