2011-12-20 42 views
-2

如果兩者都屬實,我希望它敬酒...但它將它們視爲錯誤。這個短路(&&)應該可以工作,但不是

if (dateTime > System.currentTimeMillis() && chkBox.isChecked()){ 
        Toast.makeText(getBaseContext(), "BEFORE", Toast.LENGTH_SHORT).show(); 
        return; 
    }; 
+2

你的問題有點神祕......你能更好地解釋一下自己嗎? – 2011-12-20 06:57:15

+2

什麼是你的dateTime如果它是編程推導它永遠不會比System.currentTimeMillis() – ingsaurabh 2011-12-20 07:02:06

+3

@ingsaurabh,'long dateTime = System.currentTimeMillis()+ 24 * 60 * 60 * 1000L //明天這不是真的... – st0le 2011-12-20 07:09:45

回答

5

我建議打印出的值:

dateTime 
System.currentTimeMillis() 
chkBox.isChecked() 

if語句之前,因爲我敢肯定的是,在很短的工具鏈大規模故障(編譯器等的),&&在該聲明中工作得很好。並在Toast行之前在if聲明中打印某些內容。

因此我必須假設下列之一。

  1. dateTime大於System.currentTimeMillis() - 例如,如果dateTime是從當前時間在某一時刻分配則總是小於或等於在這之後,時鐘修改和奇異當前時間來自存在黑洞的宇宙干擾儘管如此:-)

  2. chkBox.isChecked()正在返回錯誤。

  3. if工作好但Toast線沒有做任何明顯的/可見。

在這樣的基本操作中,像Java和/或Android等有缺陷的工具鏈有缺陷的機會很少。

相關問題