我正在尝试根据textview中的内容来改变布局的背景。我知道如何在Java中设置背景:
mainbg.setBackgroundResource(R.drawable.erburrows);
但是如果我在if语句中包装该调用,则没有任何反应。没有错误标志或任何东西,它只是在后台不显示任何内容。这是我正在使用的代码:
//--- BACKGROUND CHANGE ---
String tvString = showBook.getText().toString();
bookDisp.setText(tvString);
View mainbg = bgview.getRootView();
if(bookDisp.equals("Green Eggs")){
mainbg.setBackgroundResource(R.drawable.seuss);
}else if (bookDisp.equals("Tarzan")){
mainbg.setBackgroundResource(R.drawable.erburrows);
}
//--- END BACKGROUND CHANGE ---
知道为什么它不起作用?
答案 0 :(得分:1)
您要在bookDisp
上设置文字(我猜这是TextView
),然后您使用TextView
中的文字进行比较{{1}对象(TextView
)和将失败的测试bookDisp
。你可能想要这样做:
String
如果if(tvString.equals("Green Eggs")){
mainbg.setBackgroundResource(R.drawable.seuss);
}else if (tvString.equals("Tarzan")){
mainbg.setBackgroundResource(R.drawable.erburrows);
}
//...
是来自目标tvString
的文字或获取字符串:
TextView
答案 1 :(得分:0)
尝试:
mainbg.setBackgroundDrawable(getResources().getDrawable(R.drawable.erburrows));
答案 2 :(得分:0)
if(bookDisp.equals("Green Eggs")){
mainbg.setBackgroundResource(R.drawable.seuss);
}else if (bookDisp.equals("Tarzan")){
mainbg.setBackgroundResource(R.drawable.erburrows);
}
用下面的代码替换上面的代码并尝试:::
if(bookDisp.getText().toString().equals("Green Eggs")){
mainbg.setBackgroundResource(R.drawable.seuss);
}else if (bookDisp.getText().toString().equals("Tarzan")){
mainbg.setBackgroundResource(R.drawable.erburrows);
}