2011-05-13 58 views
0

什麼是例外的意思ViewStub'parent的ViewGroup

ava.lang.IllegalStateException:ViewStub必須有一個非空的ViewGroup viewParent

我創造查看存根的陣列,並將它們添加到linearLayout但在運行時顯示此例外

for(int i=0;i<1;i++) 
{ 
    try 
    { 
     stub[0]=new ViewStub(getApplicationContext(),R.layout.view_stub_layout); 

     //Viewv=stub[i].inflate(getApplicationContext(),R.layout.view_stub_layout,mainLayout); 
     //stub[0].setLayoutResource(R.layout.view_stub_layout); 
     View v; 
     v=stub[0].inflate(); 
     mainLayout.addView(v); 
     v=null; 
    } 
    catch(Exception e){ 
     e.getMessage(); 
    } 
} 
+1

嘿AWAIS感謝編輯...有你這個問題, – Sameer 2011-05-13 06:53:26

+1

您好所有任何想法...任何人都知道這個問題的解決方案,我真的需要立即。 – Sameer 2011-05-13 09:26:58

回答

1

您的ViewStub沒有父級,這就是爲什麼您會捕獲異常。您必須首先在Layout中添加ViewStub,之後您可以將它充氣到另一個View

爲什麼使用ViewStub?你真的需要它嗎?也許這可以很好的解決方案:

try { 
    View.inflate(getApplicationContext(), R.layout.view_stub_layout, mainLayout); 
} catch(Exception e){ 
    e.getMessage(); 
} 

如果你需要保持補充意見:

try { 
    views[i] = View.inflate(getApplicationContext(), R.layout.view_stub_layout, null); 
    mainLayout.add(views[i]); 
} catch(Exception e){ 
    e.getMessage(); 
}