2013-02-14 35 views
0

我想添加一些對象到ScrollView,但我得到一個NULL POINTER EXCEPTION,因爲我相信該對象還沒有被創建方法調用setContentView,我認爲它會啓動一些新線程來完成任務。我如何知道何時從活動的角度完成通貨膨脹?雖然我不想擴展ScrollView並覆蓋onFinishInflation方法。從我的活動內部,我怎麼知道什麼時候我的XML被完成膨脹

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ScrollView v = (ScrollView)super.findViewById(R.id.scrollview); 

    for(int i=0;i<20;i++) 
    { 
     TextView tv = new TextView(this); 
     tv.setText("Blah"); 
     v.addView(tv); 
    } 

} 
+1

'setContentView()'是一個阻塞調用。如果你確定你的佈局中有一個id爲'scrollview'的元素,那麼將''super.'放到'findViewById'中。這不是必需的,只是可能導致你的問題。 – 323go 2013-02-14 17:01:40

+0

另外,請確保'R.id.scrollview'實際上是'activity_main'-layout中的某處。 – Jave 2013-02-14 17:31:59

回答

4

只要對setContentView的調用退出,就會創建您的視圖。您的代碼中存在另一個導致您正在查看的問題的錯誤。也許你的ID或佈局是錯誤的。

+0

謝謝你的擡頭!這有助於我縮小這種情況。 – Matthew 2013-02-14 17:51:46

相關問題