0

その例外の意味は何ですか

ava.lang.IllegalStateException: ViewStub には null 以外の 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();
  }
}
4

1 に答える 1

1

あなたViewStubは親を持っていないので、例外をキャッチします。別の に膨らませた後、最初に追加ViewStubする必要があります。LayoutView

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();
}
于 2012-12-20T12:33:23.167 に答える