В моем приложении у меня есть счетчик и ViewStub, в зависимости от выбора пользовательского элемента из счетчика, мне нужно раздувать разные макеты и отображать раздутый макет под счетчиком. Когда мое приложение запускается, ViewStub успешно расширяет макет при первом выборе любого элемента из счетчика. Когда я пытаюсь выбрать новый элемент из счетчика, он вызывает исключение ниже
java.lang.IllegalStateException: ViewStub must have a non-null ViewGroup viewParent
Мой код до сих пор
@Override
public void onItemSelected(AdapterView<?> pParent, View pView, int pPosition, long pId) {
if(pPosition == 1){
m_cStub.setLayoutResource(R.layout.text_form);
}else if(pPosition == 2){
m_cStub.setLayoutResource(R.layout.integer_form);
}
View inflated = m_cStub.inflate();
}
m_cStub — это объект ViewStub, созданный внутри onCreate() действия.
Вот мой основной XML-код макета
<RelativeLayout..................>
<spinner......................./>
<ViewStub android:id="@+id/dynamic_form_layout"
android:inflatedId="@+id/dynamic_form_inflated_id"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
Может кто-нибудь, пожалуйста, скажите мне, где я ошибаюсь. Если у вас есть другое решение, чтобы решить эту проблему, пожалуйста, поделитесь.
Спасибо.
pView= m_cStub.inflate();
- person MAC   schedule 20.07.2012