0

我最近开始使用钛 appcelerator 开发 Android 应用程序。并且陷入了一个问题,对于其他精通 Titanium 的人来说似乎是非常小的问题,但它让我作为初学者感到头疼。

我有两个名为mainsubwindow的窗口。单击按钮时,我会从主窗口重定向到窗口。现在,每当我从subwindow按下模拟器上的后退按钮时。我已经编写了关闭当前窗口即子窗口的逻辑,以便我可以查看窗口。即使子窗口成功关闭,即使我可以查看窗口,它也能正常工作。但是现在,如果我试图单击窗口中的按钮,那不会发生。

即使我试图在最初加载应用程序时在窗口中捕获焦点事件,但是当我在子窗口中并关闭子窗口时,文件焦点事件不会在窗口中触发。

这是我的代码

APP.JS

var win1 = Titanium.UI.createWindow({  
    backgroundColor:'black'
});

var btngo=Ti.UI.createButton({
    title : "Go !!!!",
    top : "30%"
});

var lbltitle=Ti.UI.createLabel({
    text : "This is home page",
    font : {fontSize : "20%"} ,
    top : "20%",
    color : 'white'
});

//Event listener for adding clicking event
btngo.addEventListener('click',function(e){
    var nextwindow=Ti.UI.createWindow({
        url : "window.js"   
    });
    nextwindow.open();
});
win1.addEventListener('focus',function(e)
{
    alert("main window focused");
});
win1.addEventListener('android:back', function (e) 
{
  win1.close();
});
win1.add(lbltitle);
win1.add(btngo);
win1.open();

窗口.JS

var childwindow=Ti.UI.createWindow({
    backgroundColor : "white"
});


var btnhome=Ti.UI.createButton({
    title : "HOME PAGE"
});


var lbltitle=Ti.UI.createLabel({
    text : "This is child window",
    font : {fontSize : "20%"} ,
    top : "20%",
    color : 'white'
});
//For adding event listener for detecting click on home page button
btnhome.addEventListener('click',function(e){
     childwindow.close();   
});

//Adding event listener for detcting back button click in android 
childwindow.addEventListener('android:back', function (e) {
  childwindow.close();
});

childwindow.add(lbltitle);
childwindow.add(btnhome);
childwindow.open();

希望我能尽快解决我的问题。

4

1 回答 1

0

您正在 window.js 中创建一个打开的另一个窗口。可能这就是问题所在。window.js尝试如下更改您的文件

var childwindow=Ti.UI.currentWindow;
childwindow.backgroundColor = 'white'; //You may specify the same while creating the window
var btnhome=Ti.UI.createButton({
    title : "HOME PAGE"
});


var lbltitle=Ti.UI.createLabel({
    text : "This is child window",
    font : {fontSize : "20%"} ,
    top : "20%",
    color : 'white'
});
//For adding event listener for detecting click on home page button
btnhome.addEventListener('click',function(e){
     childwindow.close();   
});

//Adding event listener for detcting back button click in android 
childwindow.addEventListener('android:back', function (e) {
  childwindow.close();
});

childwindow.add(lbltitle);
childwindow.add(btnhome);

希望这能解决问题:)

于 2013-10-18T10:59:53.143 回答