无法在钛标签中将数据设置为窗口的tableview

时间:2012-10-27 20:17:51

标签: android titanium

我的钛样本代码如下,

我的主文件, 创建标签的方法如下,

globals.tabs = new AppTabGroup(
            {
                title: 'Waiting',
                icon: 'images/KS_nav_ui.png',
                window: new ListWindow({
                    title: 'Waiting',
                    backgroundColor: '#fff',
                    navBarHidden: false,
                    isDone: 0,
                    activity: {
                        onCreateOptionsMenu: function(e) {
                            var menu = e.menu;
                            var menuItem = menu.add({ title: "Add Customer" });
                            menuItem.setIcon("images/ic_menu_add.png");

                            var menuItem1 = menu.add({ title: "Settings" });
                            menuItem1.setIcon("images/ic_menu_add.png");

                            menuItem.addEventListener("click", function(e) {
                                new AddWindow().open();
                            });
                        }
                    }
                })
            },
            {
                title: 'Done',
                icon: 'images/KS_nav_views.png',
                window: new ListWindow({
                    title: 'Done',
                    backgroundColor: '#fff',
                    navBarHidden: false,
                    isDone: 1
                })
            }
        );

新的AppTabGroup只创建一个选项卡组并添加这两个选项卡+它设置currentab

因此,默认情况下,我的等待标签仍然是焦点,

新的ListWindow描述如下,

exports.ListWindow = function(args) {
    var AddWindow = require('ui/AddWindow').AddWindow;
    var self = Ti.UI.createWindow(args);
    var tableview = Ti.UI.createTableView();

    setTableHandle(tableview);

    var isDone = args.isDone;
    Ti.API.info("isDOne chi value:  " + isDone);

    self.add(tableview);

    tableview.addEventListener('click', function(e) {
        createConfirmDialog(e.row.id, e.row.title, isDone).show();
    });

    Ti.App.addEventListener('app:updateTables', function() {
        //tableview.setData(getTableData(isDone));
        tableview.setData(o9Data);
    });

    return self;
};

现在默认的tableview数据(上面代码中的o9Data)(从httpclient获取)总是设置为第二个选项卡,
我更改了isDone的值,但它不起作用

感谢任何帮助

这是第二个带数据的屏幕截图, enter image description here

1 个答案:

答案 0 :(得分:0)

终于找到了解决方案,

因为这是所有标签的通用代码,我使用了以下行,

setTableHandle(tableview);

只设置用于将数据设置为表的tableview变量,此get被上一个选项卡覆盖,因此我无法将值添加到第一个或所有(除最后一个)选项卡。