Android通过findViewById()获取控件为NULL


如果在activity中直接调用findViewById方法,它的完整形式是this.findViewById().而我所需要的控件是不存在本身activity的布局中的.所以要通过控件所在的view调用findViewById方法,就可以获取到正确的控件了

怎么获取控件所在的View呢

使用:LinearLayout view= (LinearLayout) inflater.inflate(int resource, ViewGroup root);
//resource 表示控件所在的布局文件在R.java中的标识 eg:  R.layout.activity_main;
//root 表示View的容器  直接写null


其中inflater的创建方式的三种:

                       1.LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                       2.LayoutInflater inflater = Activity.getLayoutInflater();
                       3.LayoutInflater inflater = LayoutInflater.from(Context);


 View view=LayoutInflater.from(this).inflate(
                R.layout.busi_about_task_list, null);
        


最后,通过view.findViewById(..),就可以获取到相应控件对象了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值