मेरे ऐप में, मेरे पास एक स्पिनर है, और व्यूस्ट्यूब, स्पिनर से उपयोगकर्ता आइटम चयन के आधार पर, मुझे अलग-अलग लेआउट को फुलाएं और नीचे दिए गए फुले हुए लेआउट को दिखाएं स्पिनर जब मेरा ऐप शुरू होता है, व्यूस्ट्यूब स्पिनर से किसी भी आइटम के पहले समय चयन पर सफलतापूर्वक लेआउट बढ़ाता है। जब मैं स्पिनर से एक नया आइटम का चयन करने की कोशिश करता है, यह उठता है नीचेव्यूस्ट्यूब एक से अधिक लेआउट को सशर्त रूप से
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 एक ViewStubOnCreate (अंदर निर्मित ऑब्जेक्ट) के है गतिविधि।
यहाँ मेरी मुख्य लेआउट एक्सएमएल कोड
<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(); ' – MAC
@ gtumca-mAC यह काम नहीं करेगा क्योंकि त्रुटि ViewStub के साथ दृश्य के साथ नहीं है। –