在Android中动态更改视图内部视图
我有这个相对视图,顶部有 3 个单选按钮。当用户单击其中一个按钮时,我想更改视图的底部。
蓝色部分是我想要加载不同视图的地方。
@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){
}
}
如何将不同的视图加载到蓝色部分?
I have this RelativeView with 3 radiobuttons on top. I want to change the bottom part of the view when the user clicks on one of the buttons.
The blue part is the place i want to load different Views in.
@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){
}
}
How can i load different Views into the blue part?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我找到了答案:
这会在父 xml 上加载视图。我希望它仅将其加载到“主体”部分(图中的蓝色部分),
我这样声明主体:
但是当我这样做时
body.addView(layoutInflater.inflate(R.layout.gegevens_verzekeringen, group , false), 1);
它说
java.lang.IndexOutOfBoundsException: index=1 count=0
我该如何解决这个问题?
编辑:明白了:
I kinda found the answer:
This loads the view over the parent xml. I want it to load it over just the 'body' part (the blue part in the picture)
I declared the body like this:
But when i do
body.addView(layoutInflater.inflate(R.layout.gegevens_verzekeringen, group, false), 1);
It sais
java.lang.IndexOutOfBoundsException: index=1 count=0
How can i fix this?
Edit: Got it:
findViewById
获取对每个RadioButton
的引用RadioButtonsetOnClickListener
注册一个OnClickListener
code>OnClickListener
回调中,加载不同的背景findViewById
to get a reference to eachRadioButton
OnClickListener
usingsetOnClickListener
on eachRadioButton
OnClickListener
callback, load a different background