0

LayoutInflator新しいレイアウトを生成するために使用する Android アプリを開発しています。アプリが基本的に行うことは、1 つのイメージビューを持っていることです。ボタンをクリックすると、レイアウトを変更して複数の 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);
}
4

2 に答える 2

1

その場合は、レイアウトを非表示にすることができます。これは、プログラムで非常に簡単に実行できます。

layout.setVisibility(View.GONE);
于 2013-04-17T10:30:26.587 に答える
0

@ookami.kb の提案によると、 のmain.removeAllViews();代わりに使用する必要がありmain.removeView(main);ます。

于 2013-04-18T07:09:47.537 に答える