Trong ứng dụng của tôi, tôi có một spinner và ViewStub, tùy thuộc vào lựa chọn mục của người dùng từ spinner, tôi phải tăng bố cục khác nhau và hiển thị bố cục tăng cao bên dưới spinner. Khi ứng dụng của tôi bắt đầu, ViewStub thổi phồng bố cục thành công vào lần chọn đầu tiên của bất kỳ mục nào từ spinner. Khi tôi cố gắng chọn một mục mới từ spinner, nó làm tăng ngoại lệ bên dướiViewStub tăng lỗi trong khi lạm dụng nhiều bố cục có điều kiện
java.lang.IllegalStateException: ViewStub must have a non-null ViewGroup viewParent
Mã của tôi cho đến nay là
@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 là một ViewStub đối tượng được tạo bên trong onCreate() của Hoạt động.
Đây là chính mã bố trí xml tôi
<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>
ai có thể vui lòng cho tôi biết nơi tôi sẽ sai. Nếu bạn có bất kỳ giải pháp nào khác để giải quyết vấn đề này, hãy chia sẻ.
Cảm ơn.
Điều này chỉ là đoán thử này 'pView = m_cStub.inflate();' – MAC
@ gtumca-MAC nó sẽ không hoạt động vì lỗi là với ViewStub không có dạng xem. –