Android 难以将无控制器视图添加到另一个视图

Android 难以将无控制器视图添加到另一个视图,android,xml,view,appcelerator-titanium,activity-indicator,Android,Xml,View,Appcelerator Titanium,Activity Indicator,我在自己的视图中制作了一个活动指示器,这样我就可以将它放在每个视图的附带表格中,这些表格是我应用程序中属性搜索功能的一部分 activIndic.xml <Alloy> <ActivityIndicator id="activityIndicator" message="Loading..." indicatorColor="Alloy.CFG.design.colors.hudBlue" style="Titanium.UI.ActivityIndicator

我在自己的视图中制作了一个活动指示器,这样我就可以将它放在每个视图的附带表格中,这些表格是我应用程序中属性搜索功能的一部分

activIndic.xml

    <Alloy>
<ActivityIndicator id="activityIndicator" message="Loading..." indicatorColor="Alloy.CFG.design.colors.hudBlue"
    style="Titanium.UI.ActivityIndicatorStyle.BIG_DARK"
    >
</ActivityIndicator>
searchState是一个函数,它是从绑定到状态窗口的“打开”事件侦听器调用的。pullStates()使用HTTP客户端在表中填充要从中选择的状态列表。该函数需要注意的重要部分是,在其onload函数的末尾调用activityIndicator.hide(),以便在加载数据后,指示器基本上消失

然而,我得到了一个错误

    [ERROR] :  TiExceptionHandler: (main) [951,2005] ----- Titanium Javascript Runtime Error -----[ERROR] :  TiExceptionHandler: (main) [1,2006] -In /alloy/controllers/search_tab/states.js:1,336[ERROR] :  TiExceptionHandler: (main) [0,2006] - Message: Uncaught TypeError: i.activityIndicator.show is not a function
我不明白为什么会发生错误。我的印象是,如果通过
标记将视图添加到XML中,states.js控制器应该能够通过引用视图的id来处理该视图。我是否还缺少其他内容,或者可能是设置错误?

这是您的问题:

$.activityIndicator.show();
应该是

$.activityIndicator.activityIndicator.show();
第一个
活动指示器
指的是所需的无控制器视图:

<Require id="activityIndicator" src="activIndic" type="" ></Require>

第二个
activityIndicator
是访问文件
activIndic.xml


这是在您的activIndic.js中具有函数
show

的对象,它公开了最重要的方法

$.show = function(status){
    $.activityIndicator.show();
}
$.hide = function(status){
    $.activityIndicator.hide();
}

然后,在states.js中直接调用
$.activityIndicator.show()
$.activityIndicator.hide()

哦,天哪,当然就这么简单了。非常感谢您,我回到办公室后会设法更改它。如果问题是关于控制器的,那是正确的,但是activIndic.xml是一个无控制器视图。
<Require id="activityIndicator" src="activIndic" type="" ></Require>
$.show = function(status){
    $.activityIndicator.show();
}
$.hide = function(status){
    $.activityIndicator.hide();
}