Android ViewStub不显示吗?

Android ViewStub不显示吗?,android,android-layout,layout,android-relativelayout,viewstub,Android,Android Layout,Layout,Android Relativelayout,Viewstub,我有一个Relativelayout rl_根,其中包含一些视图和一个buton,当按下按钮时,将调用一个名为showConfigStubView的方法,它将使布局rl_根消失,并且viewStub应替换此viewGroup rl_根 在运行时,当调用showconfigustubview方法时,viewGroup rl_根将消失,并且viewStub永远不会显示 int showconfigustubview是call View.go,使rl_根消失,然后以编程方式创建一个新的Viewstub

我有一个Relativelayout rl_根,其中包含一些视图和一个buton,当按下按钮时,将调用一个名为showConfigStubView的方法,它将使布局rl_根消失,并且viewStub应替换此viewGroup rl_根

在运行时,当调用showconfigustubview方法时,viewGroup rl_根将消失,并且viewStub永远不会显示

int showconfigustubview是call View.go,使rl_根消失,然后以编程方式创建一个新的Viewstub Viewstub=new ViewStubgetActivity;然后使用其参数创建一个realtiveLayout,然后将ViewStub添加到新的RelativeLayout中,然后使用其各自的布局扩展ViewStub

请看下面的代码,方法showConfigStubView解释了如何调用ViewStub

主要布局:


请注意,viewStub应始终属于非空的ViewGroup或Layout。查看您的相对视距视为您的viewStub不应属于任何视图组。我建议尝试以下方法:

protected void showConfigStubView() {
    // TODO Auto-generated method stub
    this.rg_ConfigChoice.setVisibility(View.GONE);
    this.btn_connect.setVisibility(View.GONE);
    this.viewStub = new ViewStub(getActivity());
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams 
            ((int) LayoutParams.WRAP_CONTENT, (int) LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.CENTER_HORIZONTAL);
    this.viewStub.setLayoutParams(params);
    this.rl_Root.addView(viewStub);
    this.viewStub.setLayoutResource(R.layout.mqttconfig_subtree);
    View inflated = viewStub.inflate();
}
    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<TextView 
    android:id="@+id/tvSubView_ip"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:paddingTop="10dp"
    android:text="@string/tvSubView_ip"/>
<EditText 
    android:id="@+id/etSubView_ip"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toEndOf="@+id/tvSubView_ip"
    android:layout_marginStart="20dp"
    android:hint="@string/etSubView_ip_hint"/>

<TextView 
    android:id="@+id/tvSubView_port"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/tvSubView_ip"
    android:paddingTop="20dp"
    android:text="@string/tvSubView_port"/>
<EditText 
    android:id="@+id/etSubView_port"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toEndOf="@+id/tvSubView_port"
    android:layout_below="@+id/etSubView_ip"
    android:layout_marginStart="7dp"
    android:hint="@string/etSubView_port_hint"/>

<TextView 
    android:id="@+id/tvSubView_clientID"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/tvSubView_port"
    android:paddingTop="20dp"
    android:text="@string/tvSubView_clientID"/>
<EditText 
    android:id="@+id/etSubView_clientID"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toEndOf="@+id/tvSubView_clientID"
    android:layout_below="@+id/etSubView_port"
    android:layout_marginStart="7dp"
    android:hint="@string/etSubView_clientID_hint"/>

<TextView 
    android:id="@+id/tvSubView_KATimer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/tvSubView_clientID"
    android:paddingTop="20dp"
    android:text="@string/tvSubView_KATimer"/>
<EditText 
    android:id="@+id/etSubView_KATimer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toEndOf="@+id/tvSubView_KATimer"
    android:layout_below="@+id/etSubView_clientID"
    android:layout_marginStart="7dp"
    android:hint="@string/etSubView_KATimer_hint"/>

<CheckBox
    android:id="@+id/cbSubView_CleanSession"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tvSubView_KATimer"
    android:layout_marginTop="20dp"
    android:gravity="center_vertical"
    android:checked="true"
    android:text="@string/cbSubView_CleanSession"/>
protected void showConfigStubView() {
    // TODO Auto-generated method stub
    this.rl_Root.setVisibility(View.GONE);
    viewStub = new ViewStub(getActivity());

    RelativeLayout relativeLayout = new RelativeLayout(getActivity());
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams 
            ((int) LayoutParams.WRAP_CONTENT, (int) LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.CENTER_HORIZONTAL);
    params.topMargin = 10;
    viewStub.setLayoutParams(params);
    //rl_Root.addView(viewStub);

    viewStub.setLayoutResource(R.layout.mqttconfig_subtree);
    relativeLayout.addView(viewStub);
    View inflated = viewStub.inflate();
}
protected void showConfigStubView() {
    // TODO Auto-generated method stub
    this.rg_ConfigChoice.setVisibility(View.GONE);
    this.btn_connect.setVisibility(View.GONE);
    this.viewStub = new ViewStub(getActivity());
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams 
            ((int) LayoutParams.WRAP_CONTENT, (int) LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.CENTER_HORIZONTAL);
    this.viewStub.setLayoutParams(params);
    this.rl_Root.addView(viewStub);
    this.viewStub.setLayoutResource(R.layout.mqttconfig_subtree);
    View inflated = viewStub.inflate();
}