Mark一下 PopupWindow 的系统BUG

项目中从popupWindow 跳转到一个有WebView(ScrollView)的新页面中。一滑动就crash。

查了一下。原来是android的bug (3.0之前)。

解决方法:在创建popupWindow不设置setFocusable(true).当要显示的时候再设置setFocusable(true). dimiss的时候设置为setFocusable(false)就可以了。


selectView = View.inflate(baseActivity, R.layout.select_pop_dialog, null);
		selectPwindow = new PopupWindow(selectView, width, LayoutParams.WRAP_CONTENT);
		// 设置允许在外点击消失  
		selectPwindow.setOutsideTouchable(true);
		// 这个是为了点击“返回Back”也能使其消失,并且并不会影响你的背景  
		selectPwindow.setBackgroundDrawable(new BitmapDrawable());

	private void showSelectDialog() {
		selectPwindow.showAtLocation(curMyView, Gravity.BOTTOM, 0, 0);
		selectPwindow.setFocusable(true);
		
	}

private void hideSelectDialog() {
		if (null != selectPwindow && selectPwindow.isShowing())
		{
			selectPwindow.dismiss();
			selectPwindow.setFocusable(false);
		}
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值