天天看点

android开发之自定义控件时findViewById方法返回null的解决方法

理解关键要点:

想要获取自定义布局中的控件必须调用你所定义的View(或者其子控件,比如SurfaceView)的findViewById方法,而不能像获得其他控件一样直接调用findViewById方法。。。。

关键代码:

View view = getLayoutInflater().inflate(R.layout.activity_menu,
	(ViewGroup) findViewById(R.id.menu_id));
myBombView_show = (MyBombView) view.findViewById(R.id.myBombView_show);
           

其中:

R.layout.activity_menu:为当前activity所设置的布局文件的名字;

R.id.menu_id:为当前activity所设置的布局文件的跟布局(比如RelativeLayout)的ID;

R.id.myBombView_show:为activity_menu.xml中的自定义控件的ID