findViewById返回为NULL
2016-01-27 16:00
169 查看
调试疯狂Android 代码时候,发现总是addView程序奔溃;
<pre name="code" class="java">protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout main = (LinearLayout)findViewById(R.id.main); setContentView(R.layout.activity_main); //程序创建ImageView组件 final ImageView image = new ImageView(this); if(main!=null){ main.addView(image); } //初始化显示第一张图片 image.setImageResource(R.drawable.c1); image.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub image.setImageResource(images[++currentImg % images.length]); } }); }
然后发现是LinearLayout main = (LinearLayout)findViewById(R.id.main);main返回为空。
发现 findViewById 与 setContentView 有关。所查询的控件id必须包含于setContentView中设置的layout中。解决的方法就是将LinearLayout main = (LinearLayout)findViewById(R.id.main);扔在setContentView后面即可。
相关文章推荐
- android开发之自定义控件时findViewById方法返回null的解决方法
- findViewById 返回null
- Android开发:findViewById返回null的解决办法
- Android Exception : findViewById返回Null
- opengl的surfaceview使用findViewById返回null问题解决
- findViewById返回null的问题解决
- findViewById返回null
- 关于:findViewById()返回null的问题和如何获取Fragment中的组件
- findViewById返回Null
- findViewById 返回 null 问题
- findViewById返回null
- findViewById返回Null 该如何处理?View 中加载View的方法
- 【android中findViewById返回控件指针为NULL】
- AndroidGUI27:findViewById返回null的解决办法
- findViewById返回Null
- 使用include findViewById 返回null
- android findViewById 返回 null
- findViewById返回Null
- android getActivity.findViewById获取ListView 返回NULL
- findViewById返回Null