2011-12-12 20 views
1

在我當前的Android應用程序中,我有一個HTTP客戶端向網站發送請求,並將JSON響應轉換爲tableview。我注意到,當我打開結果窗口並在表格中移動滾動時,實際上有兩個相同的表格,一個在另一個之上。我注意到的另一個問題是,當我按下android:back按鈕時,窗口關閉,我得到一個黑色的空窗口,爲了獲得原始的主視圖,我需要再次點擊後退按鈕。這裏添加的是the main window codesearch result page。 謝謝一堆!在Titanium Appcelerator上使用HTTP客戶端打開重複的窗口

--the同樣的問題是貼在[Appcelerator的Q & A]

確定,流量是這樣的: 1.打開主窗口(贏1),它有一個搜索欄和2個按鈕。每個按鈕打開相同窗口的不同版本(win 2)。

  1. win 2有一個搜索欄和幾個按鈕。

如果任何窗口(1或2)上的搜索欄被填充並執行,則會打開第三個窗口(win 3)。

  1. 在這個窗口中,HTTP客戶端(xhr)發送正確的請求並解析響應文本(JSON),然後填充表視圖(tv)。

表視圖出現兩次一個在另一個頂部,當我添加一個事件,提醒窗口它在我得到「你在搜索窗口」警告框兩次。

當我點擊後退按鈕,我回到一個空的白色窗口。如果我再次點擊返回按鈕,我會回到我來自的原始窗口。

- 更新:我重寫了整個事情,但仍然沒有任何反應。

----更新:我添加了一個標誌,以防止「onload」函數被調用兩次,但這只是一個黑客。 我正在尋找更基本的答案

+0

萌,這是很難理解整個代碼..如果你可以請告訴我們什麼是你的窗口的流動,那麼它會很容易理解的代碼。 –

回答

1

首先,關於'開放'事件,它會發生兩次。在1.8.0.1版本中有一個錯誤,當'open'事件觸發兩次(bugtracker)時,但它在版本1.8.1(changelog)中被修復。我已經測試過新版本,並且所有作品都很好 - 「開放」事件只會觸發一次。

二,關於後退按鈕。正如我在你的代碼中看到的,你使用tab.open。您可以直接使用'打開'窗口,而不是製表符。而對於iPhone,您可以創建導航組(wiki)。還請記住使用HeavyWeight窗口,使'後退'按鈕有效。您爲此添加了模態:true屬性,但嘗試使用全屏:false。