2012-03-21 12 views
2

私は2つのビューを持っています。最初のビューでは、私はテーブルビューを持っており、そのセルにリモートデータを表示しています。私はデータのダウンロード中に活動指標を表示しています。チタニウムAndroid:ウィンドウマネージャーchrashに添付されていないビュー

いずれかの行を選択すると、2番目のビューが開きます。

最初のビューに戻ると、リモートデータをダウンロードしてテーブルビューを更新しています。

Androidの場合、最初のビューに戻ってデータをダウンロードすると、アクティビティインジケータが原因でアプリケーションがクラッシュします。アプリケーションはAndroidでのみクラッシュし、iPhoneでうまく動作します!

私はテーブルのデータをフォーカスでリフレッシュしています。現在のウィンドウのイベント。

エラー: -

活動org.appcelerator.titanium.TiActivityが窓 [email protected]漏れた はもともとここに追加されたことをE /ウィンドウマネージャ(324): android.view.WindowLeaked: が最初にここに追加されたことを活動 org.appcelerator.titanium.TiActivityが漏洩したウィンドウ [email protected]

(メイン)[2225,140482]送信イベント:スレッドで例外:メイン MSG:java.lang.IllegalArgumentExceptionが:ビューウィンドウ マネージャに取り付けられていません。チタン1.8.1,2012/1月27日17:31、a24502a E/TiApplication( 324):java.lang.IllegalArgumentExceptionが:ビューウィンドウに接続されていない マネージャー

EDITED

私コード: -

var currentWindow = Titanium.UI.currentWindow; 

var placeTableData = [] ; 
var placeTableView = Titanium.UI.createTableView 
({ 
    data:placeTableData, 
    top:'0dp', 
    height:'365dp' 
}); 

currentWindow.addEventListener('focus',winopened); 
function winopened(e) 
{ 
    placeTableData = createRow(); 
} 

function createRow() 
{ 
    currentWindow.add(activity); 
    activity.show();  
    currentWindow.touchEnabled = false; 

    // downloading data 

    if(loader1.DONE) 
    { 
     currentWindow.touchEnabled = true ; 
     activity.hide(); 
    } 
} 
+0

最初に表示されたウィンドウにアクティビティインジケータが追加されていますか? –

+0

どのようにaiをテーブルビューに追加できますか?それはウィンドウの一部でなければなりません –

+0

@MuhammadZeeshan:http://chat.stackoverflow.com/rooms/9135/titaniumに来てください。 – Maulik

答えて

1

解決済み!私はAndroidで、戻るボタンを押すと、前のビューへの適切なナビゲーションを処理しないことがわかりました。現在のビューを気にせずに前のビューを表示するだけです。

したがって、別のビューを表示する前に、現在のビューを適切に閉じる必要があります。そこで、前のビューを表示する前に現在のビューを閉じました。

Androidで戻るボタンを押すと、android:backのイベントWindowが呼び出されます。そこで、この方法で現在のウィンドウを閉じました。

Titanium.UI.currentWindow.addEventListener('android:back',function(e) 
{ 
    Ti.API.info('back button pressed'); 
    currentWindow.close(); 
});