私は独自のビューで作成したアクティビティーインジケーターを持っています。私のアプリ。コントローラーレスビューを別のビューに追加するのが難しい
activIndic.xml
<Alloy>
<ActivityIndicator id="activityIndicator" message="Loading..." indicatorColor="Alloy.CFG.design.colors.hudBlue"
style="Titanium.UI.ActivityIndicatorStyle.BIG_DARK"
>
</ActivityIndicator>
states.xml
<Alloy>
<Window id="winState" class="container vgroup" title="Search | States" >
<Label text="Click a state to continue." class="searchWinHint" id="hint"></Label>
<Require id="activityIndicator" src="activIndic" type="" ></Require>
<TableView id="stateList" class="tableView-search">
</TableView>
</Window>
states.js - searchState()
function searchState(){
$.activityIndicator.show();
pullStates();
$.stateList.addEventListener("click", function(e){
//Create global state abbreviation name
args.stateAbbr = e.row.children[1].text;
Alloy.createController("search_tab/counties", args).getView().open();
});
$.winState.add($.stateList);}
searchStateは、状態ウィンドウに結び付けられた「オープン」イベントリスナーから呼び出される関数です。 pullStates()は、HTTPクライアントを使用して、選択する状態のリストをテーブルに入力します。この関数の重要な部分は、関数の最後に、関数$.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
が、私は理解していないエラーを取得しています。私は、<Require>
タグを介してXMLにViewが追加された場合、states.jsコントローラはそのIDを参照してそのビューを処理できるはずであるという印象を受けています。私は行方不明の何か他の何かが間違っているでしょうか?
ああ、もちろんそれは簡単です。本当にありがとう、私はオフィスに戻ったときにそれを変更することを見ていきます。 – Rampancy