Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 视图存根';父视图组_Android_Viewstub - Fatal编程技术网

Android 视图存根';父视图组

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);

这个例外是什么意思

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();
  }
}

您的
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();
}