1

現在、タブグループに3つのタブがあるAppceleratorTitaniumを使用してiPhoneアプリを開発しています。

私のapp.jsはここで見つけることができます:http://pastie.org/private/zoignwv05l9t6pbrfm01dw

[会社の検索]タブグループでは、XHRキーワード検索を使用してデータを読み込むテーブルビューに取り組んでいます(検索を変更したり、検索をキャンセルしたりするためのさまざまなイベントハンドラーを備えたTitanium.UI.createSearchBarを使用した検索ボックスを追加しました)。最初の検索結果テーブルビューをティア1と呼びます。

検索部分は正常に機能し、テーブルビューのクリックイベントを設定しました。これは完全に機能し、新しいウィンドウを開きます。これをティア2と呼びます。

問題は、Tier 2の[戻る]ボタンをクリックして(Tier 1の結果に戻る)、検索を新しいものに変更すると、テーブルビューデータを更新するための新しいXHRリクエストが作成されることです。次に、これらの新しい結果の1つをクリックすると、Tier 2ウィンドウが開きますが、その下に重複したTier2ウィンドウが表示されます。新しいTier2ウィンドウの[戻る]ボタンをクリックすると、ウィンドウ階層が複製されたTier2ウィンドウに移動します。

ティア2で戻るをクリックすると、ウィンドウはアニメーション化されて表示されなくなりますが、削除されません(予想どおり)。

これが理にかなっていることを願っています。説明するのは難しいです。

これが私のcompany-search.jsタブコードです:http://pastie.org/private/jdwiuasivd3zrnhcqbqxw

問題を示すビデオもあります:http ://www.youtube.com/watch?v = 1_1zlXf__UE

アイデアや推奨事項を事前に感謝します。

4

2 に答える 2

2

この問題を修正しました。

これが私の修正されたソースコードです: http://pastie.org/private/ycown2e6tracfvdukz29uw

私が解決したことから、最初の XHR リクエストが呼び出されるたびに、テーブルビューを現在のウィンドウに追加しているように見えました。

テーブル ビューの行クリック イベント コードと win.add(tableView) コードを loader.onload イベント コードの外に移動しました。

これが他の誰かを助けることを願っています。

于 2011-02-22T12:49:25.053 に答える
1

Appceleratorフォーラムに投稿された問題のようです。company_search.jsで、tableViewsクリックイベントのe.rowData.urlを、前のクリックイベントのe.rowData.urlと照合してみてください。同じ場合は、現在のタブでウィンドウを開かないでください。

于 2011-02-22T12:09:05.333 に答える