Nella mia app, sto avendo uno spinner e un ViewStub, a seconda della selezione di elementi utente da spinner, devo gonfiare layout diversi e mostrare il layout gonfiato sotto lo spinner. Quando viene avviata la mia app, ViewStub gonfia correttamente un layout alla selezione iniziale di qualsiasi oggetto della selezione. Quando ho tenta di selezionare un nuovo elemento da filatore, solleva eccezione di sottoViewStub genera errori durante il gonfiaggio condizionato di più di un layout
java.lang.IllegalStateException: ViewStub must have a non-null ViewGroup viewParent
Il mio codice finora è
@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 è un oggetto ViewStub creato all'interno onCreate() del Attività.
Qui è la mia principale codice del layout 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>
Qualcuno può dirmi dove sto andando male. Se hai qualche altra soluzione per risolvere questo per favore condividi.
Grazie.
Questo è solo un tentativo prova questo 'pView = m_cStub.inflate();' – MAC
@ gtumca-MAC non funzionerà perché l'errore è con ViewStub non con View. –