2013-02-19 51 views
0
之間

不能導航。鈦手機:我是新來的鈦,我有2個看似簡單的問題,而試圖用它爲Android頁

1)我試圖導航到下一個頁面上的一個按鈕的點擊。但它卻向我展示了一個空白的黑屏。我知道我的第二頁​​是正確的,因爲我想顯示它作爲我的應用程序的登陸頁面和它的作品。我的代碼如下: -

ApplicationWindow.js

... 

var button = Ti.UI.createButton({ 
    height:44, 
    width:'auto', 
    title:'Create New Meetup', 
    top:20 
}); 
self.add(button); 

button.addEventListener('click', function() { 
    var newWindow = Ti.UI.createWindow({ 
     url : "/ui/common/CreateNewMeetupWindow.js", 
     fullscreen: false 
    }); 
    newWindow.open(); 
}); 

return self; 

CreateNewMeetupWindow.js

//CreateNewMeetUpView Component Constructor 
function CreateNewMeetupWindow() { 
var self = Ti.UI.createWindow({ 
    layout : 'vertical', 
    backgroundColor:'white' 
}); 

var contactsField = Ti.UI.createTextField({ 
    borderStyle : Ti.UI.INPUT_BORDERSTYLE_ROUNDED, 
    color : '#336699', 
    width : 400, 
    height : 60 
}); 
self.add(contactsField); 

var locationField = Ti.UI.createTextField({ 
    borderStyle : Ti.UI.INPUT_BORDERSTYLE_ROUNDED, 
    color : '#336699', 
    width : 400, 
    height : 60 
}); 
self.add(locationField); 

var lblNotifyMe = Ti.UI.createLabel({ 
    color : 'black', 
    text : 'Notify me when s/he is', 
    textAlign : Ti.UI.TEXT_ALIGNMENT_LEFT, 
    width : 'auto', 
    height : 'auto' 
}); 
self.add(lblNotifyMe); 

var btnGo = Ti.UI.createButton({ 
    title : 'Go', 
    height : 'auto', 
    width : 100 
}); 

btnGo.addEventListener('click', function() { 
    // Check console 
    Ti.API.info('User clicked the button '); 

}); 
self.add(btnGo); 

return self; 
}; 

2)在安裝該應用程序在設備上後,我試圖啓動它。該應用程序暫時顯示(大概3秒),然後它自行關閉。我想它的應用程序崩潰?但它在仿真器上運行良好。

鈦專家,請幫助:$

回答

1

您可以使用以下方法在程序窗口

方法1

//Your app.js file 
var button = Ti.UI.createButton({ 
    height:44, 
    width:'auto', 
    title:'Create New Meetup', 
    top:20 
}); 
self.add(button); 

button.addEventListener('click', function() { 
    //By doing this you're opening a new window 
    var newWindow = Ti.UI.createWindow({ 
     url : "ui/common/CreateNewMeetupWindow.js",//Provide the correct path here 
     fullscreen: false 
    }); 
    newWindow.open(); 
}); 


//Your CreateNewMeetupWindow.js file 

var newWindow = Ti.UI.currentWindow; 

var contactsField = Ti.UI.createTextField({ 
    borderStyle : Ti.UI.INPUT_BORDERSTYLE_ROUNDED, 
    color : '#336699', 
    width : 400, 
    height : 60 
}); 
newWindow.add(contactsField); 

//You can add other controls here just like I added the contactsField 

方法2

var button = Ti.UI.createButton({ 
    height:44, 
    width:'auto', 
    title:'Create New Meetup', 
    top:20 
}); 
self.add(button); 

button.addEventListener('click', function() { 
    var window = require('/ui/common/CreateNewMeetupWindow'); 
var newWindow = new window(); 
    newWindow.open(); 
}); 

//Your CreateNewMeetupWindow.js file 

function CreateNewMeetupWindow() { 
    var self = Ti.UI.createWindow({ 
     layout : 'vertical', 
     backgroundColor:'white' 
    }); 

    var contactsField = Ti.UI.createTextField({ 
     borderStyle : Ti.UI.INPUT_BORDERSTYLE_ROUNDED, 
     color : '#336699', 
     width : 400, 
     height : 60 
    }); 
    self.add(contactsField); 

    //Add other controls here 

    return self; 
} 
module.exports = CreateNewMeetupWindow; 

你可以使用任何單一的方法從與導航以上。不要將這些方法混合在一起。

您可以使用下面的鏈接,引用

  1. http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.Window-property-url
  2. http://docs.appcelerator.com/titanium/latest/#!/api/Global-method-require
1

對於你的第一個問題,您使用的是url財產與CommonJS的對象。所以不是實例化的窗口是這樣的:

var newWindow = require("/ui/common/CreateNewMeetupWindow"); 
newWindow.open(); 

你會使用url財產,如果你CreateNewMeetupWindow.js不是CommonJS的模塊。

不知道你的第二個問題是什麼,請檢查您的設備日誌和崩潰報告,否則就沒有辦法知道是怎麼回事。