我有一个名为 Player 的类。这个类中存储了一些玩家对象,每个对象都有一个“名称”、“分数”和“颜色”。我做了一个方法,应该根据我正在处理的对象设置 TextView 颜色。这是代码:
public void setTextViewColor(TextView tw, String playerColor){
Log.i("TAG", playerColor);
if (playerColor == "BLACK")
{
tw.setTextColor(Color.BLACK);
Log.i("TAG", "tw color now black");
}
else if (playerColor == "BLUE")
{
tw.setTextColor(Color.BLUE);
Log.i("TAG", "tw color now blue");
}
else if (playerColor == "CYAN")
{
tw.setTextColor(Color.CYAN);
}
else if (playerColor == "DKGRAY")
{
tw.setTextColor(Color.DKGRAY);
}
else if (playerColor == "GRAY")
{
tw.setTextColor(Color.GRAY);
}
else if (playerColor == "GREEN")
{
tw.setTextColor(Color.GREEN);
}
else if (playerColor == "LTGRAY")
{
tw.setTextColor(Color.LTGRAY);
}
else if (playerColor == "MAGENTA")
{
tw.setTextColor(Color.MAGENTA);
}
else if (playerColor == "RED")
{
tw.setTextColor(Color.RED);
}
else if (playerColor == "YELLOW")
{
tw.setTextColor(Color.YELLOW);
}
}
现在的问题是 IF 或 ELSE 语句永远无法执行。这就是我调用该方法的方式:
setTextViewColor(newTextView, newPlayer.color);
该方法应该有效,因为每次执行它时,我都可以看到 logcat 消息说明颜色(颜色始终正确)。但我从未看到“tw color now black”或“tw color now blue”消息,所以我很确定 IF 语句有问题。
如果标签显示 playerColor 是“BLACK”,那么应该执行第一个 if 语句,对吗?但事实并非如此。