如何破坏布局?

时间:2013-04-17 10:25:00

标签: android android-layout

我正在开发一款Android应用,我使用LayoutInflator生成新的布局。该应用程序的基本功能是 - 它有一个imageview。当我单击按钮时,我更改布局以显示多个ImageView(如2x2或4x4)。我成功地使用LayoutInflator显示这些布局。但是,之前的布局保持不变,新的布局显示在旧布局,这种布局会混淆整个布局。我的问题是 - 无论如何要在显示新布局之前销毁旧布局?

编辑:

这是代码(在我正在使用的onClick事件上)

public void oneby1onClick(View view){
    RelativeLayout main = (RelativeLayout)findViewById(R.id.main_layout);
    view = getLayoutInflater().inflate(R.layout.activity_main, main,false);
    main.removeView(main);
    main.addView(view);
}

public void twoby2onClick(View view){
    RelativeLayout main = (RelativeLayout)findViewById(R.id.main_layout);
    view = getLayoutInflater().inflate(R.layout.twoby2, main,false);
    main.removeView(main);
    main.addView(view);
}

public void fourby4onClick(View view){
    RelativeLayout main = (RelativeLayout)findViewById(R.id.main_layout);
    view = getLayoutInflater().inflate(R.layout.fourby4, main,false);
    main.removeView(main);
    main.addView(view);
}

2 个答案:

答案 0 :(得分:1)

如果是这种情况,也许你可以让你的布局不可见。 这可以通过programmaticaly非常容易地完成:

layout.setVisibility(View.GONE);

答案 1 :(得分:0)

根据@ ookami.kb的建议,我应该使用main.removeAllViews();而不是main.removeView(main);来帮助我。