我正在尝试将视图的背景设置为红色,只是尝试一些东西。我添加了一个活动布局的视图,并给它一个id,“gradientView”。在我的Java代码中,我创建了一个这样的新视图:
View gradientView = (View) findViewById(R.id.gradientView);
并在onCreate中我这样做:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_clean_weather);
gradientView.setBackgroundColor(Color.RED);
由于某种原因,它在findViewById给了我一个空指针异常。当我将它引用到我的XML视图时,我以为我把它设为“not null”?
有谁知道发生了什么事?
感谢。
答案 0 :(得分:3)
您的findviewById
应该在setContentView(..)
;
示例:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_clean_weather);
View gradientView = (View) findViewById(R.id.gradientView);
gradientView.setBackgroundColor(Color.RED);
否则gradientView
将为空,null
引用上的任何操作都会导致NullPointerException
。