2

アプリに再開イベントを添付していて、現在フォーカスされているウィンドウを検出したい

Ti.App.addEventListener('resume', function(e) {
  // what window is focused? visible?
});
4

7 に答える 7

7

Ti.UI.currentWindow を試すことができますが、過去に結果がまちまちでした。

最も基本的なオプションは、app.js にグローバル変数を作成してウィンドウを保存することです。そのため、再開時に確認してください。おそらくウィンドウ用のラッパーを作成したいので、 open() でウィンドウでグローバルを設定します。

于 2012-10-17T01:31:41.717 に答える
1

次のようなすべてのウィンドウフォーカスイベントでフラグを設定するだけです

Ti.App.Properties.setString('currentWindow',Ti.UI.currentWindow.title);

したがって、このフラグをリクエストするだけで済みます..

于 2010-10-22T08:45:32.700 に答える
1

すべてのウィンドウ フォーカス イベントでこのコードを記述します。

Ti.App.Properties.setString('currentWindow',Ti.UI.currentWindow.title);

Ti.UI.currentWindow.title は基本的に、そのウィンドウが作成されているファイルの名前にする必要があります。

これで、再開イベントでこれを行う必要があります

var newwin_name= Ti.App.Properties.getString('currentWindow');
var newwin = Ti.UI.createWindow({url:newwin_name+'.js'});
newwin.open();

これが役立つことを願っています。

于 2013-03-04T07:40:28.450 に答える
0

プロパティ 'Ti.UI.currentWindow' は、Ti.UI.createWindow.url メソッドを使用してコンテキストに JavaScript をロードした場合にのみ使用できます。ただし、このメソッドは、バージョン 3.6.0 および合金の導入 ( http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Window-property-url ) ->その後 Ti から削除されました。 UI.getCurrentWindow が null を返す

現在のウィンドウにポインターを保持できる唯一の方法は、作成時にそれを Alloy.Globals コレクションのグローバル変数に割り当てることでした。複数のウィンドウを使用し、それらのウィンドウをナビゲートする方法が多すぎる場合、これはトリッキーな方法です。ですので、覚えておいてください。

于 2016-03-25T14:20:58.260 に答える
0

このコードを試してください

まず、グローバル イベントを設定します。それを処理してwindowTitleを受け取ります

Ti.App.addEventListener('resume', function(e) {
  alert(e.windowTitle)
});

そして、このイベントを発生させたい場所でこれを作ります

Ti.App.fireEvent('resume',{
windowTitle : Ti.UI.currentWindow.title
});

カスタムデータをグローバルイベントに送信できます

于 2014-11-04T14:26:26.747 に答える
-1

フォーカスされたウィンドウは最後に開かれたウィンドウです!

于 2014-09-11T07:04:08.923 に答える
-1

使用できます

var currentWindow = Ti.UI.getCurrentWindow();

于 2012-10-23T09:47:15.417 に答える