在Android中动态更改视图内部视图

Gal*_*lip 3 android view dynamic

我有这个RelativeView,顶部有3个radiobuttons.我想在用户点击其中一个按钮时更改视图的底部.

蓝色部分是我想要加载不同视图的地方. 替代文字

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
    if (checkedId == iVerzekeringen){
        layout.removeView(body);   // THIS PART IS
        layout.addView(testview);  // NOT WORKING
    }
    else if (checkedId == iPersoonlijk){
    }
    else if (checkedId == iNotities){
    }
}
Run Code Online (Sandbox Code Playgroud)

如何将不同的视图加载到蓝色部分?

Gal*_*lip 5

我找到了答案:

layout = (RelativeLayout)findViewById(R.id.rellayout);
LayoutInflater layoutInflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
layout.addView(layoutInflater.inflate(R.layout.gegevens_verzekeringen, group, false), 1 );
Run Code Online (Sandbox Code Playgroud)

这会将视图加载到父xml上.我想把它加载到'body'部分(图片中的蓝色部分)

我宣布身体是这样的:

body = (RelativeLayout)findViewById(R.id.body);
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做 body.addView(layoutInflater.inflate(R.layout.gegevens_verzekeringen, group, false), 1);

它是sais java.lang.IndexOutOfBoundsException: index=1 count=0

我怎样才能解决这个问题?

编辑:知道了:

body.addView(layoutInflater.inflate(R.layout.gegevens_verzekeringen, null));
Run Code Online (Sandbox Code Playgroud)