我想改变ActionBar的颜色。我用的是:
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor(" #070b2e"));
getSupportActionBar().setBackgroundDrawable(colorDrawable);
程序崩溃并给出如下警告:
方法调用'setBackgroundDrawable'可能产生"NullPointerException">
但是当我写这个的时候,
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#070b2e")));
运行良好,应用程序不会崩溃,颜色改变了。然而,警告仍然存在。
首先,这不是一个匿名类,这只是使用ColorDrawable
的对象,而不是将其存储在实例中。
警告说getSupportActionBar()
可能为空,因此您需要为安全添加空检查。
if(getSupportActionBar() != null) {
...your code..
}
第一个代码的崩溃似乎是由"# 070 b2e"字符串-parseColor
方法不做空间修剪