我有这个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){
}
}
如何将不同的视图加载到蓝色部分?
答案 0 :(得分: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 );
这会在父xml上加载视图。我想把它加载到'body'部分(图片中的蓝色部分)
我宣布这样的身体:
body = (RelativeLayout)findViewById(R.id.body);
但是当我做body.addView(layoutInflater.inflate(R.layout.gegevens_verzekeringen, group, false), 1);
它是java.lang.IndexOutOfBoundsException: index=1 count=0
我该如何解决这个问题?
编辑:知道了:
body.addView(layoutInflater.inflate(R.layout.gegevens_verzekeringen, null));
答案 1 :(得分:0)
findViewById
获取对每个RadioButton
OnClickListener
setOnClickListener
注册RadioButton
OnClickListener
回调中,加载不同的背景