有时候需要动态更新字符串,如蓝牙收发文件时候,需要更新收发的数目。
想使用string.xml,但是感觉无法动态更新。
这对这个问题,Android自有解决方案。
参见:http://developer.android.com/guide/topics/resources/string-resource.html
另外见:http://stackoverflow.com/questions/3656371/dynamic-string-using-string-xml/3656409#3656409
If you need to format your strings using
String.format(String, Object...), then you can do so by putting your format arguments in the string resource. For example, with the following resource:
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>In this example, the format string has two arguments: %1$s is a string and %2$d is a decimal number. You can format the string with arguements from your application like this:
Resources res = getResources(); String text = String.format( res.getString(R.string.welcome_messages), username, mailCount);If you need to handle plurals, use this:
<plurals name="welcome_messages"> <item quantity="one">Hello, %1$s! You have a new message.</item> <item quantity="other">Hello, %1$s! You have %2$d new messages.</item> </plurals>The first mailCount param is used to decide which format to use (single or plural), the other params are your substitutions:
Resources res = getResources(); String text = res.getQuantityString(R.string.welcome_messages, mailCount, username, mailCount);