家伙!我有一个循环的问题。所以我有一个for()遍历数据库中的第三列的每个值(它应该是日期格式)。我想从列表视图中更改项目的背景颜色添加日期的月份与当前月份相同。问题在于 - 如果我使用这样的代码:
public void setItemRed(View view){
for(int i = 0 ; i <= myDB.getLastID() ; i++){
String date = myDB.getcol3(i);
String day = date.substring(0 , 2);
String month = date.substring(3 , 5);
String currentDate = currentDate();
String currentMonth = currentDate.substring(3 , 5);
listView.getChildAt(i).setBackgroundColor(Color.RED);
}
}
一切正常,每件物品都会变成红色背景。但是当我添加if:
public void setItemRed(View view){
for(int i = 0 ; i <= myDB.getLastID() ; i++){
String date = myDB.getcol3(i);
String day = date.substring(0 , 2);
String month = date.substring(3 , 5);
String currentDate = currentDate();
String currentMonth = currentDate.substring(3 , 5);
if(date.length() == 10){
if(month == currentMonth) {
listView.getChildAt(i).setBackgroundColor(Color.RED);
}
}
}
}
它不起作用。提前谢谢你!
答案 0 :(得分:0)
每当比较两组字符串时,您需要使用.equals()
命令。只需使month == currentMonth
无效并返回false。
请尝试将month == currentMonth
替换为month.equals(currentMonth)
。
希望有所帮助。