ViewStub'parent viewgroup

僤鯓⒐⒋嵵緔 提交于 2019-12-20 07:05:05

问题


What is the meaning of that exception

ava.lang.IllegalStateException: ViewStub must have a non-null ViewGroup viewParent

i am creating an array of View Stub and adding them to a linearLayout but this exception is showing at run time

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:


Your ViewStub don't have a parent, that's why you catch Exception. You must add ViewStub in Layout at first, after you can inflate it to another View.

Why you use ViewStub? Do you really need it? Maybe it can be good solution:

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

If you need to keep added Views:

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


来源:https://stackoverflow.com/questions/5987682/viewstubparent-viewgroup

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!