2015-10-17 63 views
1

在此之前,我很抱歉,我的問題似乎很愚蠢。 我是一個開發Android軟件的人。我正在尋求幫助,因爲我不知道問題來自哪裏。問題在android上的'onCreate'方法

public class MainActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Log.d("debug", "I'm not going to appear on the LogCat ;_;"); 
     SomeStaticClass.something(); 
     setContentView(R.layout.activity_main); 
    } 

    //called from a button in activity_main.xml 
    public void hello (View view) { 
     Log.d("debug", "but for some reasons I will"); 
    } 
} 

,你可以看到在OnCreate函數的第一個Log.d永遠不會被調用。或者它永遠不會出現在LogCat中,我現在不會。這是我的問題,因爲這個,我不知道是否曾經叫過SomeStaticClass.something()!現在有人爲什麼或有一個想法?謝謝。 (編輯) 謝謝你的評論:-)。是的,斷點是一個好主意(我真的爲我自己沒有想到的那個而感到羞愧...)。所以是的,函數被調用,但是,Log.d仍然(5次4次)不顯示任何內容,但只在onCreate(Bundle savedInstanceState)。 現在已經不是什麼大問題了,我知道它的工作原理,我將它標記爲已解決。然而,只是好奇心,有誰知道爲什麼log.d不寫任何東西?

+1

LogCat設置的級別是多少?它可以設置爲隱藏調試消息。嘗試更改級別或使用Log.e()來查找錯誤。此外,您可以使用斷點來查看代碼中發生的事情。 –

回答

0

Logcat默認設置爲詳細日誌級別。這意味着您可以使用Log.v而不是Log.d,或切換到Logcat中的調試日誌級別。

0

好的,我有一個總是工作的答案。我只需要用System.out.println("whatever");替換Log.d("what", "ever");。原因仍不清楚,但無所謂。我非常抱歉花費你的時間和困擾你們所有人。謝謝大家的幫助。