Android 视图存根';父视图组
这个例外是什么意思 ava.lang.IllegalStateException:ViewStub必须具有非空的ViewGroup viewParent 我正在创建一个视图存根数组,并将它们添加到linearLayout,但此异常在运行时显示Android 视图存根';父视图组,android,viewstub,Android,Viewstub,这个例外是什么意思 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);
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();
}
}
您的
ViewStub
没有父对象,这就是您捕获异常的原因。您必须首先在布局中添加视图存根
,然后才能将其充气到另一个视图
为什么使用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();
}