我最近开始使用钛appcelerator开发Android应用程序。并且遇到了一个问题,这个问题对于那些精通Titanium的人来说似乎是一个非常小的问题,但它让我成为初学者的头疼。
我有两个名为主和子窗口的窗口。单击按钮,我将从主重定向到子窗口窗口。现在每当我从子窗口按下模拟器上的按钮时。我编写了关闭当前窗口的逻辑,即子窗口,以便我可以查看主窗口。即使子窗口成功关闭也行得正常,甚至我可以查看主窗口。但是现在如果我试图点击主窗口中没有发生的按钮。
即使我尝试在主窗口中捕获焦点事件,该窗口在应用程序初始加载时发生但当我在子窗口并关闭子窗口时,主窗口中未触发文件焦点事件。
这是我的代码
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();
WINDOW.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();
希望我能尽快解决问题。
答案 0 :(得分: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);
希望这可以解决问题:)