我正在开发一款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);
}
答案 0 :(得分:1)
如果是这种情况,也许你可以让你的布局不可见。 这可以通过programmaticaly非常容易地完成:
layout.setVisibility(View.GONE);
答案 1 :(得分:0)
根据@ ookami.kb的建议,我应该使用main.removeAllViews();
而不是main.removeView(main);
来帮助我。