我正在使用这个简单的代码:
ActionBar bar = this.getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(0xFF99CC00));
单击 imageView 时会触发此代码。
这应该将 ActionBar 的背景颜色更改为绿色,但它显示为白色(它正在删除颜色,也许?)
你们知道为什么会这样吗?
但是,如果我在onCreate
方法上执行此操作,它将被更改。
(当我开始这个活动时,我会检查以放置颜色或其他颜色):
if (this.isAccepted == -1){
//nothing
} else if (this.isAccepted == 0){
//vermell
ActionBar bar = this.getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(0xFFFF4444));
} else if (this.isAccepted == 1){
ActionBar bar = this.getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(0xFF99CC00));
如您所见,代码完全相同,但在单击 imageView 后运行代码时并没有更改。
编辑: 实际上可以动态编辑操作栏吗?或者只是在启动应用程序时?
编辑2:
我尝试过 onCreate,将 bar 设置为变量,然后尝试访问它,但它的作用完全相同。
编辑3:
做一些编辑来增加帖子。这太奇怪了。我检查了文档,它没有提到“你不能改变背景两次”之类的东西。
也许我必须使其无效?我真的不知道……该死的。
Edit4:试图解决这个问题......我还没有找到答案......