ViewStub'parent viewgroup - PullRequest
       22

ViewStub'parent viewgroup

0 голосов
/ 13 мая 2011

Что означает это исключение

ava.lang.IllegalStateException: ViewStub должен иметь ненулевой ViewGroup viewParent

Я создаю массив View Stub и добавляю их в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 Ответ

1 голос
/ 20 декабря 2012

У вашего ViewStub нет родителя, поэтому вы ловите исключение. Сначала вы должны добавить ViewStub в Layout, после того как вы сможете раздувать его до другого 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();
}
...