Viewがいくつも表示される

var win = Titanium.UI.currentWindow;
var header = Titanium.UI.createView();
var body = Titanium.UI.createView();
var body1 = Titanium.UI.createView();
var body2 = Titanium.UI.createView();
var footer = Titanium.UI.createView();

body.add(body1);
body.add(body2);
win.add(header);
win.add(body);
win.add(footer);

というようにして、menuボタンを押下して新しくWindowを作るような場合、

button.addEventListener('click',function(e){
    win.close();
});

とするだけでは意図した通りにならない。2度3度とWindowを表示させると、次のようなレイアウトになる。

+-----------------+
|    header       |
+-----------------+
|    body         |
+-----------------+
|    footer       |
+-----------------|
|    header       |
...

Windowをcloseしただけで、winに追加したViewを削除していないことが原因。なので、面倒だがwinからViewを削除する。

win.remove(header);
...

↓のようにするとうまく行かなかった。なんとか↓みたいな形で動かしたい。

var hiearchy = new Array('header','body','footer');
for(var i = 0;i < hiearchy.length;i++){
    win.remove(hiearchy[i]);
}