findViewById()返回null

                Log.i("===","q");
		Log.i("===",""+R.id.mainlayout);
		Log.i("===",""+findViewById(R.id.mainlayout));
		final PopupWindow popupWindow = new PopupWindow(
	        view1.findViewById(R.id.mainlayout), 200, 300);

做手势识别,弹出popwindow,不过加载自定义的layout的时候,总是报findviewbyid()nullpointer,用log测试的时候,说它返回的是null。。无语,找了好久,想了好久,总是不对。。一晚上过去了实在没有办法了,疯狂百度,google。。网上说的原因大概有三点:

1:eclipse的原因,只需要clean一下即可。

2:findviewbyid在setcontentview之前,没有找到。解决方案是吧findviewbyid放在后面。

3:findviewbyid是在当前的context对应的layout下面找id,跨xml或者activitity的话就会返回null,所以要在自己对应的xml里面去findview

我的是在一个自定义的view里面找的id,要寻找main.xml里面的id,所以总要报错。

View view1=View.inflate(con,R.layout.main,null);  
		
		final PopupWindow popupWindow = new PopupWindow(
				view1.findViewById(R.id.mainlayout), 200, 300);


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值