在 Android 中动态更改视图内部视图 [英] Dynamically change view inside view in Android

查看:18
本文介绍了在 Android 中动态更改视图内部视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个上面有 3 个单选按钮的 RelativeView.当用户单击其中一个按钮时,我想更改视图的底部.

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?

推荐答案

我找到了答案:

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 上加载视图.我希望它只加载到身体"部分(图片中的蓝色部分)

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)

我是这样声明身体的:

body = (RelativeLayout)findViewById(R.id.body);

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

它说 java.lang.IndexOutOfBoundsException: index=1 count=0

我该如何解决这个问题?

How can i fix this?

明白了:

body.addView(layoutInflater.inflate(R.layout.gegevens_verzekeringen, null));

这篇关于在 Android 中动态更改视图内部视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆