2016-06-21 7 views
0

appceleratorアプリケーションでは、string(string.xml)のリソースファイルを作成しました。このファイルでは、私はこのような任意のリソースに入れている:appcelerator(alloy)からview.xmlにリソース文字列を挿入する方法

<string name="en_clinical_document">Treatments</string> 

を、私のコントローラの.jsに私は、このモードでは、ラベルのテキストを設定します。

$.label.text= L("en_clinical_document"); 

このコードは動作しますが、どのように私ができますView.XMLで同じ方法を使用しますか?

<Label id="labelRegistry"></Label> 

と私はlabelregistryでen_clinical_documentのコンテンツを挿入したい:

例えば、私はこれを持っています。

これは可能ですか?

答えて

1

[EDITED:警告、それは動作しません]

あなたが直接参照するためには、そのようなラベルやボタンなど、チタンUIオブジェクトのtitleidプロパティを使用することができますinternationalizationドキュメント

からL()マクロを使用しないで文字列リソース。

var label = Ti.UI.createLabel({ 
    titleid: 'welcome_message' 
}); 
/* 
* is equivalent to 
* var label = Ti.UI.createLabel({ 
* text: L('welcome_message') 
* }); 
*/ 

だから私はどちらに、いくつかのテストの後、私は期待通りに動作しないことがわかりました、

<Label titleid="welcome_message"></Label> 

のように、1はtitleid属性を使用することができ、ビューのXMLに推測が、 XML、また無地のjsにTi.UIオブジェクトを作成:初回のみlabelA

var labelA = Ti.UI.createLabel({ 
     top: 100, 
     text: L('welcome_message'), 
     backgroundColor:"green", 
     font: { 
      fontSize: "50dp" 
     } 
    }); 

    var labelB = Ti.UI.createLabel({ 
     top: 200, 
     titleid: 'welcome_message', 
     backgroundColor:"red", 
     font: { 
      fontSize: "50dp" 
     } 
    }); 

    $.index.add(labelA); 
    $.index.add(labelB); 

    $.index.open(); 

を示す次のスニペットは、だから、文書化FUNCTことが表示されますtitleidによって提供されるイオン性はもう利用できません。

+0

あなたの応答に感謝しますが、xmlファイルではコードが正しく動作しません。 – bircastri

+0

あなたは歓迎です。解決策ではないと申し訳ありませんが、私は予想通り '$ .__ views.labelRegistry = Ti.UI。参考文献の合金コンパイルされたコントローラのcreateLabel({id: "labelRegistry"、titleid: "en_clinical_document"});私は完全なテストをして、何が間違っているのか理解しようとしています。 –

関連する問題