Skip to content

Instantly share code, notes, and snippets.

@ryugoo
Created September 17, 2012 23:11
Show Gist options
  • Save ryugoo/3740341 to your computer and use it in GitHub Desktop.
Save ryugoo/3740341 to your computer and use it in GitHub Desktop.
TableViewのタイトルを次のWindowに引き継ぐ
(function () {
// トップレベルコンテナ
var wrapper = Ti.UI.createWindow();
// はじめのウィンドウ
var first_win = Ti.UI.createWindow({
backgroundColor: "#FFFFFF",
title: "NavGroup"
});
first_win.add(Ti.UI.createLabel({
text: "First Window",
color: "#666666"
}));
// テーブルビュー
var table_view = Ti.UI.createTableView({
data: []
});
// テーブルビューの各行をクリックしたときの動作 (ループ中の添え字と行データの "title" を受け取る)
var handleClickRow = function (rowIndex, title) {
// 関数を返す
return function (clickEvt) {
// ウィンドウを作る
var second_win = Ti.UI.createWindow({
title: title,
backgroundColor: "#FFFFFF"
});
second_win.add(Ti.UI.createLabel({
text: title,
color: "#666666"
}));
// ナビゲーショングループ内で開く
nav_group.open(second_win);
};
};
// サンプルデータを用意する
var data_arr = [];
for (var i = 0; i < 5; i++) {
// テーブルビューの行データ
var table_view_row = Ti.UI.createTableViewRow({
title: "TableView #" + i
});
// 行をクリックしたときのイベントを登録する
table_view_row.addEventListener("click", handleClickRow(i, table_view_row.title));
// 行データを "data_arr" 配列に追加する
data_arr.push(table_view_row);
}
// テーブルビューの "data" 配列に行データを追加する
table_view.data = data_arr;
// はじめのウィンドウにテーブルビューを追加する
first_win.add(table_view);
// ナビゲーショングループ
var nav_group = Ti.UI.iPhone.createNavigationGroup({
window: first_win
});
// コンテナにナビゲーショングループを追加する
wrapper.add(nav_group);
// 開く
wrapper.open();
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment