2011-12-12 67 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。