当我尝试更改背景颜色时:
RelativeLayout rl;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.secondo);
rl=(RelativeLayout)findViewById(R.layout.secondo);
rl.setBackgroundColor(Color.argb(250, 250, 32, 32));
}
我得到了一个讨厌的RuntimeException
。你知道吗,为什么会这样?
logcat的
java.lang.RuntimeException: Unable to start activity ComponentInfo: (...)
java.lang.NullPointerException
答案 0 :(得分:3)
java.lang.RuntimeException:无法启动活动ComponentInfo: (...)java.lang.NullPointerException
NullPointerException
是因为rl
为空
此
rl=(RelativeLayout)findViewById(R.layout.secondo);
应该是
rl=(RelativeLayout)findViewById(R.id.rl);
// reference the id that you mentioned in secondo.xml
但它不存在
所以你没有相对于RelativeLayout的id
将ID添加到secondo.xml
<RelativeLayout
android:id="@+id/rl"
答案 1 :(得分:0)
只需检查setContentView(R.layout.secondo);
中的主要xml名称和rl=(RelativeLayout)findViewById(R.layout.secondo);
中的relativeLayout名称
secondo
是相同的,应该是不同的。
答案 2 :(得分:0)
哦,你应该抓住布局的ID而不是布局&gt;&gt; :: RelativeLayout rl = findViewById(R.id.yourid); 你为布局
我认为它会完成:)