View not attached to window manager

转载 2012年03月21日 16:19:31

今天在写程序中遇到如下问题,如此怪异,在网上找了很多,终于解决了问题:

java.lang.IllegalArgumentException: View not attached to window manager

解决方法:

在调用系统相机拍照相片后返回protected void onActivityResult(int requestCode, int resultCode, Intent data)方法,那么可能会抛出这个异常,原因就是返回activity后,重新运行onCreate方法,那些view重新画出来,某些需要初始化的变量没有设置好。处理这个问题,只要有两种方法:(关键第二点)
1. 限制屏幕翻转
可在AndroidManifest.xml中设定android:screenOrientation=”portrait”
2. 如果是需要翻转的,那么限制那些view做重画动作。
可在AndroidManifest.xml中设定android:configChanges=”orientation|keyboardHidden|navigation”



在Dialog转圈圈的过程中,如果手机屏幕方向改变,那么可能会抛出这个异常,原因就是屏幕翻转后那些view重新画出来,dialog在执行dismiss()的时候,
找不到原来的位置了。那么要处理这个问题,最简单的几种方法是:
1. 限制屏幕翻转
可在AndroidManifest.xml中设定android:screenOrientation=”portrait”
2. 如果是需要翻转的,那么限制那些view做重画动作。
可在AndroidManifest.xml中设定android:configChanges=”orientation|keyboardHidden|navigation”
3.  如果你又要翻转,又要重画view,那你就用代码去控制

private void lockScreen(){
		Configuration newConfig = getResources().getConfiguration();
		if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
		//横屏
			U.dout("ORIENTATION_LANDSCAPE lock it!");
			setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
		}else if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
		//竖屏
			U.dout("SCREEN_ORIENTATION_PORTRAIT lock it!");
			setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
		}
		else if(newConfig.hardKeyboardHidden == Configuration.KEYBOARDHIDDEN_NO){
		//键盘没关闭。屏幕方向为横屏
			setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
		}else if(newConfig.hardKeyboardHidden == Configuration.KEYBOARDHIDDEN_YES){
		//键盘关闭。屏幕方向为竖屏
			setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
		}
	}

	private void unlockScreen(){
		U.dout("unlock!");
		setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
	}


相关文章推荐

关于彻底解决PopupWindow View not attached to window manager 的方法

最近做项目遇到的问题,出现这类问题基本上都是activity还没启动就show popupwindow 或 activity已经finish还dismiss,这样就会 造成这样的问题 android...

IT痴汉的工作现状47-兄弟,哥也只能帮到这了

阿文是9月份项目大扩张时进来的,与我们加班,与我们坚守,直到两个月后项目稳定下来。客户一看进展顺利了,就动了减人的心思。老板找我说起此事,我心中甚是不爽!“可否缓一缓呢?现在项目刚刚平稳,突然减人,会...

Android问题集锦之五十:not attached to window manager

not attached to window manager有许多场景发生,下面说下Dialog的dismiss引发的崩溃。场景复现:1、异步任务或其他后台线程操作,界面显示滚动条。 两个Tab页快...

Android中 View not attached to window manager错误的解决办法

最近在写一个小程序哈,过程中遇到了java.lang.IllegalArgumentException: View not attached to window manager的错误,也上网找了不少解...

View not attached to window manager解决方案

前几日出现这样一个Bug是一个RuntimeException,详细信息是这样子的: java.lang.IllegalArgumentException: View not attached to...

progressDialog not attached to window manager error!

android.view.WindowLeaked: Activity xxxx.ProgressMainActivity has leaked window com.android.internal...

View not attached to window manager解决方案

前几日出现这样一个Bug是一个RuntimeException,详细信息是这样子的: java.lang.IllegalArgumentException: View not attached to...

java.lang.IllegalArgumentException: View not attached to window manager

最近遇到一个问题,在分屏的情况下弹出来一个ProgressDialog,在ProgressDialog还没有消失的时候,取消分屏,变成全屏,这时候就出现了crash,log如下: --------- ...

关于java.lang.IllegalArgumentException: View not attached to window manager 错误的分析

转载出处:http://blog.csdn.net/yihongyuelan 今天遇到一个很奇特的问题,当用户设置了PIN码,在锁屏界面正常解锁PIN码后,进入Launcher时显示com....

android笔记之关于java.lang.IllegalArgumentException: View not attached to window manager 错误的分析

今天遇到一个很奇特的问题,当用户设置了PIN码,在锁屏界面正常解锁PIN码后,进入Launcher时显示com.Android.phone 已停止运行。一开始猜想会不会是解锁PIN码的时候处理导致...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)