2012-08-02 117 views
0

我需要使用此功能幫助線。計劃似乎被忽略的代碼

我知道,如果聲明承認我的輸入,因爲它會影響其他地方的計劃,但我不知道發生了什麼事,因爲這個特殊的日誌不顯示即使是在亞行logcat什麼。

該函數所在的同一個類文件中的其他Log語句顯示得很好,並且值更新似乎正在改變(由於某種原因,「顯示所有」空白,但我可以在得到登錄工作。)

我不確定如何尋找這個問題,因爲它是非常具體的,我不知道是什麼原因呢(可能是一些簡單的,我沒有想到的,雖然)。

void command(String input) 
{ 

    //do stuff here 
    //update = whatever 
    if(input.equalsIgnoreCase("show all")) 
    { 
     update=printAllRooms(); 
     Log.i(input, update); 
    } 
    else update=input; //just for testing, will delete later 
} 

printAllRooms功能:

public String printAllRooms() //for debug purposes 
{ 
    String result = ""; 

    for (Iterator<Room> iterator = rooms.iterator(); iterator.hasNext();) { 
     Room current = iterator.next(); 
     result = result + current.toString()+"\n"; 
     Log.i("printallrooms", current.toString()); 
    } 
    return result; 
} 
+0

你試圖調試它? – MByD 2012-08-02 17:21:45

+0

printAllRooms()返回一個字符串? – maxko87 2012-08-02 17:21:45

+0

你的意思是這些行不被執行?請發佈您的printAllRooms功能。 – Erol 2012-08-02 17:22:15

回答

0

登錄使用的注意事項。

發送到登錄的第一個參數是通常表明你在類的名稱固定字符串

因此,在你的類的頂部,你可以定義:

private static final String TAG = "MyClassName"; 

,那麼你會在該類中使用TAG作爲日誌語句。

Log.i(TAG, "My input was: " + input + " Update was: " + update; 

說得很溫和,你的功能看起來很奇怪。在Log語句中設置一個斷點,運行調試器,然後檢查update中包含的變量值。最有可能的是,printAllRooms()沒有做你的想法。

+0

我已經成功地縮小它迄今最好的是,即使它會從ArrayList中被確認爲大小2 printAllRooms迭代器不返回任何數據 – 2012-08-02 23:39:06

0

如果迭代器不適合你,請嘗試使用for-each循環:

for (Room r : rooms) { 
    result = result + r.toString()+"\n"; 
    Log.i("printallrooms", r.toString()); 
}