2013-04-17 49 views
6

字符串數組我想格式化字符串數組就像android used to format strings格式參數

通常我們:

  • 的strings.xml

    <string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string> 
    
  • 在一些java代碼中:

    ​​

我在尋找類似:在一些任意的XML

  • <string-array name="employee"> 
         <item>name: %1$s</item> 
         <item>post: %2$s</item> 
        </string-array> 
    
  • 在一些java代碼

    Resources res = getResources(); 
    String[] employee = ArrayString.format(res.getStringArray(R.string.employee), name, post); 
    

有一個優雅的方式來做到這一點?

編輯:

下一個代碼塊是一個解決辦法,我張貼只是爲了幫助@Sufian,誰在評論自找的。一旦我的問題是格式化字符串數組的內容,下面的代碼分別格式化每個字符串,這不是真正的答案。

在某些misc.xml:

<string-array 
    name="string_array"> 
    <item>1st position: %1$d</item> 
    <item>2nd position: %1$d</item> 
</string-array> 

然後,在Java代碼:

res = getResources(); 
String[] sa = res.getStringArray(R.array.string_array); 
for (int i = 0; i < sa.length; i++) { 
    text += String.format(sa[i], i); 
} 
+0

那麼,你是怎麼解決的呢?我有一個類似的問題。 – Sufian

+0

似乎沒有優雅的方式來執行這種格式。你將需要遍歷每個字符串數組元素並根據需要進行格式化。 –

+0

嗯。你可以分享哪些樣本?現在,我只需使用下面的代碼片段按名稱選擇字符串,並使用簡單的資源字符串提供格式化參數。 http://steven.bitsetters.com/2007/11/27/accessing-android-resources-by-name-at-runtime/ – Sufian

回答

0
+1

@Chuck_Norris數量字符串實際上選擇一種格式在基於數量的許多可能性,如零,很少,很多...我需要使用整個數組字符串,每個數組的位置可能是一個字符串格式化的參數。 –