我已经在这里看到了这个问题的几个实例,所提供的解决方案似乎不起作用。
我的目标:根据我从数据库查询中获得的颜色更新LinearLayout的背景。
到目前为止我所拥有的:
if(teamc=="black"){
drawable = this.getResources().getDrawable(R.drawable.blackbackground);
Toast.makeText(TeamActivity.this,teamc, Toast.LENGTH_LONG).show();
teamColor.setBackgroundDrawable(drawable);
}
团队颜色定义为
teamColor = (LinearLayout) findViewById(R.id.teamcolor);
正在发生的事情是Toast看起来很好,但背景并没有改变。
任何帮助都将不胜感激。
答案 0 :(得分:2)
如果Toast正在工作但背景没有改变,这真的很奇怪。
Try using teamc.equals("black"){}
或
teamColor.setBackgroundResource(R.drawable.blackbackground);
答案 1 :(得分:2)
你确定那个吐司正在展示而不是其他的吐司吗?因为您尝试使用==运算符检查String
是否等于另一个String
,这是错误的。
您必须使用.equals()
方法在两个对象之间进行比较。
答案 2 :(得分:0)
尝试直接制作teamColor.setBackgroundResource(R.drawable.blackbackground);
答案 3 :(得分:0)
在设置背景
后使用teamColor对象调用LinearLayout的invalidate()teamColor.invalidate();
答案 4 :(得分:0)
在我的应用程序中,我使用WebView来显示网页,当页面尺寸适合但现在页面的每一边都是白色空间时,我可以将背景更改为黑色吗?