我正在尝试根据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 ---
知道为什么它不起作用吗?
最佳答案
您正在bookDisp
上设置文本(我想这是TextView
),然后在TextView
对象(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
的文本或获取字符串:bookDisp.getText().toString()