1

チタンのテーブルビューで行をクリックして新しいウィンドウを開こうとしています。

これは私のコードです、

function listpage(){

   var tabgroup=Ti.UI.createTabGroup();

   var win = Ti.UI.createWindow({
      title:'Listpage',
      backgroundColor:'#fff'    
   });

   var dataArray = [{
            title:'Sunday',
            hasChild:true,
            test:'detail'}];

   for(var i=0;i<dataArray.length;i++){
        dataArray[i].color = '#000';
        dataArray[i].font  = {fontWeight:'bold',fontSize:20};
   }     

   var tableview=Ti.UI.createTableView({
       data:dataArray   
   });

    tableview.addEventListener('click',function(e){
       if(e.rowData){
           Ti.API.info(e.rowData.title);    

           var winEvent = Titanium.UI.createWindow({
               backgroundColor:'#fff',  
               url:e.rowData.test
           });
          winEvent.open({animation:true});

       }    
   });

   win.add(tableview);

   win.open();

}

detail.js コード:

var self = Ti.UI.createWindow({
    title:'Detail',
    color:'#000',
    backgroundColor:'white'
});

var label = Ti.UI.createLabel({
    text:'Hai',
    color:'#000'
});
self.add(label);

tableview行をクリックしてdetail.jsウィンドウを開くにはどうすればよいですか。

ありがとうございました。

4

1 に答える 1

1

スレンドラ、これはあなたの問題に似ています。各行をクリックすると、ウィンドウが開きます。

コードは

var wndHome = Ti.UI.createWindow({
     backgroundColor : 'white'
});

var tableView = Ti.UI.createTableView({
     top : 0
});

var tabledata = [];
for(var i = 0 ; i < 10; i++){
    var row = Ti.UI.createTableViewRow({
        title : 'Title of window',
        url   : 'details.js'
    });
    tabledata.push(row);
}
tableView.data = tabledata;
wndHome.add(tableView);
wndHome.open();


tableView.addEventListener('click', function(e){
    var wndNewWindow = Ti.UI.createWindow({
        backgroundColor : '#999966',
        url             : e.rowData.url
    });

    wndNewWindow.open();
});

details.js ファイル

var self = Ti.UI.currentWindow;

var label = Ti.UI.createLabel({
    text:'Hai',
    color:'#000'
});
self.add(label);

ここでは、details.js への URL を指定しました。別のウィンドウを使用する場合は、ファイル名を配列に保持し、tableViewRow を作成するときに、単に配列要素を url (例: ) として追加できますfileArray = ['file1.js', 'file2.js','file3.js'];

これを試して、要件に応じてコードを変更してください。

于 2012-12-10T04:16:28.120 に答える