0

私は最近、Android アプリケーションを開発するための Titan appcelerator を使用して開発を開始しました。そして、チタンに精通している他の人にとっては非常に小さな問題と思われる問題に行き詰まりましたが、初心者である私にとっては頭痛の種になりました.

メインウィンドウとサブウィンドウという名前の 2 つのウィンドウがあります。ボタンをクリックすると、メインウィンドウからサブウィンドウにリダイレクトされます。サブウィンドウからエミュレーターの戻るボタンを押すたびに。メインウィンドウを表示できるように、現在のウィンドウ、つまりサブウィンドウを閉じるためのロジックを作成しました。サブウィンドウが正常に閉じても問題なく動作し、メインウィンドウを表示することもできます。しかし、メインウィンドウのボタンをクリックしようとしても、それは起こりません。

アプリケーションが最初にロードされたときに発生するメインウィンドウでフォーカスイベントをキャッチしようとしましたが、サブウィンドウにいてサブウィンドウを閉じているときに、メインウィンドウでファイルフォーカスイベントがトリガーされません。

ここに私のコードがあります

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();

私の問題ができるだけ早く解決されることを願っています。

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 に答える