我有两个视图。在第一个视图中,我有一个表视图,我在其单元格中显示远程数据。我在数据下载时显示活动指示器。
当选择任何行时,第二个视图会打开。
当我回到第一个视图时,我通过下载远程数据来刷新表格视图。
但是在Android中,当我回到第一个视图并开始下载数据时,应用程序因活动指示器而崩溃!应用程序仅在Android中崩溃,它在iPhone中运行良好!!
我正在刷新当前窗口的焦点事件中的表格数据。
错误: -
活动org.appcelerator.titanium.TiActivity已泄露窗口 com.android.internal.policy.impl.PhoneWindow$DecorView@450c4488那个 最初添加在这里E / WindowManager(324): android.view.WindowLeaked:Activity org.appcelerator.titanium.TiActivity已泄露窗口 com.android.internal.policy.impl.PhoneWindow$DecorView@450c4488那个 最初是在这里添加的
和
(main)[2225,140482]发送事件:线程上的异常:main msg:java.lang.IllegalArgumentException:视图未附加到窗口 经理; Titanium 1.8.1,2012 / 01/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 :(得分:1)
解决了!!!我发现,在Android中,当您按下后退按钮时,它无法正确导航到上一个视图。它只显示上一个视图而不关注当前视图。
因此有必要在显示另一个视图之前正确关闭当前视图。所以我在显示上一个视图之前关闭了当前视图。
当我们按下Android上的后退按钮时,android:back
Window
事件会被呼叫。所以我在这个方法中关闭了当前窗口,如:
Titanium.UI.currentWindow.addEventListener('android:back',function(e)
{
Ti.API.info('back button pressed');
currentWindow.close();
});