ããAndroid æä¾ä¸ç§ç±»åçå符串èµæºã
ããString æä¾ä¸ä¸ªåç¬çå符串
ããString Array æä¾ä¸ä¸ªå符串æ°ç»
ããQuantity Strings(Plurals) 为ä¸åçæ°éæä¾ä¸åçå符串éé
ããString
ããä¸ä¸ªåç¬çå符串ï¼å®ä¹å¨xmlæ件éï¼å¯ä»¥ä¾ layout xml å¼ç¨ï¼ä¹å¯ä»¥ä¾ Java 读åãä¸è¬é»è®¤çï¼å¨ res/values/strings.xml éå¯ä»¥å®ä¹ <string name="helloworld">Hello World</string>ãä¸é¢æ¯ä¸ä¸ªå®æ´ç xml å
容ã
ãã<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="string_name">text_string</string>
</resources>
ããå
¶ä¸ç name 对åºçå°±æ¯ keyï¼æ¯ä¸ªå符串é½éè¦æä¸ä¸ªåç¬ç key ãå¿
é¡»åç¬çï¼å¦ææéå¤çï¼ç¼è¯å¨å¯è½ä¸ä¼æ¥éï¼ä½æ¯è¿è¡çæ¶åï¼å¯è½ä¼è¯»ä¸å°ä½ æ³è¦çå
容ãè¿ä¸ªå°±ä¸ç¨æ·±å
¥è§£éäºï¼çæåºå½çï¼key å¿
é¡»å¯ä¸ï¼æ²¡å¥å¥½åéçãä½æ¯ xml æ件å¯ä»¥æå¤ä¸ªãå¾å¤äººå欢ææ以çå符串é½æ¾å¨ strings.xml éãè¿æ¯å¼åå·¥å
·é»è®¤å¸®ä½ çæçãä½æ¯éç项ç®çæç»å¼åï¼é¡¹ç®è¶æ¥è¶å¤§çæ¶åï¼æè¿æ¯å»ºè®®å¯ä»¥åæå¤ä¸ªæ件çãè¿æ ·æå©äºä»£ç çé
读ï¼èä¸ä¸ä¼å½±åè¿è¡çæçï¼å¤åºæ¥çå·¥ä½å¨ç¼è¯çæ¶åå·²ç»å好äºã
ãã使ç¨æ¹æ³ï¼
å¨layout xml é使ç¨ï¼ä¾å¦
ãã<TextView android:text="@string/helloworld"/>
ããæè
å¨ Java code é使ç¨
ããString string = getString(R.string.helloworld);
ããgetString(int) å getText(int) é½å¯ä»¥è¿åå符串å
容ï¼ä¸åçæ¯ getText(int) å¯ä»¥è¿åå¯ææ¬ï¼rich textï¼å符串ãå¯ææ¬å°±æ¯å ç²åï¼æä½åä¹ç±»çç®åçæ ·å¼ï¼ä¸é¢ä¼è¯´ã
ããString Array
ããå符串æ°ç»ï¼å¯ä»¥å®ä¹å¨ strings.xml éï¼ä¹å¯ä»¥å®ä¹å¨å
¶ä»ç xml éã
ãã<string-array name="string_array_name">
<item>text_string</item>
</string-array>
ããä¸ä¸ª string-array éå¯ä»¥æ N å¤ä¸ª itemãåæ ·ï¼name ä¹å¿
é¡»å¯ä¸ãitem å¯ä»¥æ¯ä¸ä¸ªå符串ï¼ä¹å¯ä»¥æ¯å¦å¤ä¸ä¸ªå符串çå¼ç¨ã使ç¨ï¼
ããResources res = getResources();
String[] strings = res.getStringArray(R.array.string_array_name);
ããè¿æ ·å°±å¾å°äºä¸ä¸ªå符串æ°ç»äºã
ããQuantity Strings(Plurals)
ãã带æ°éçå符串ãå¨å¾å¤è¯è¨éï¼ä¸åçæ°éçæåç表达æ¹å¼æäºä¸åãæ¯å¦å¨è±æéï¼ä¸æ¬ä¹¦è¡¨ç¤ºä¸º one book . 两æ¬ä¹¦è¡¨ç¤ºä¸º two books ãå¨åè¯ä¸ï¼æè
å¨è¯æ³ä¸ï¼å°±æå¾å¤çä¸ä¸æ ·çå°æ¹ï¼è¿æ ·ä¸ä¸ªå符串就å¯è½æä¸å®äºã
è¿ä¸ªæ¶å Quantity Strings å°±å¯ä»¥å¸®ä½ æå®è¿ä¸ªé®é¢ã
è¯æ³æ¯è¿æ ·åçï¼
ãã<resources>
<plurals name="plural_name">
<item quantity=["zero" | "one" | "two" | "few" | "many" | "other"] >text_string</item>
</plurals>
</resources>
ããname ä¹å°±æ¯ IDï¼å¯ä¸ï¼ä¸åºè¯
ããitem å¯ä»¥æå¤ä¸ªï¼æ¯ä¸ª item é½æ quantity å±æ§ï¼æ¯ä¸ª item ç quantity å±æ§ä¸è½ä¸æ ·ã
ããzero 表示没æï¼one 表示ä¸ä¸ªï¼åæ°ï¼two 表示两个ï¼æè
ä¸å¯¹ï¼ä¸åï¼fewï¼è¡¨ç¤ºå¾å°ï¼manyï¼è¡¨ç¤ºæºå¤çï¼otherï¼è¡¨ç¤ºå
¶ä»ã
ãã使ç¨ï¼
ããint count = getNumberOfsongsAvailable();
Resources res = getResources();
String songsFound = res.getQuantityString(R.plurals.numberOfSongsAvailable, count, count);
温馨提示:答案为网友推荐,仅供参考