高级字符串用法

这是strings.xml里面的代码,如下

<string name=”personal_welcome_message”>Welcome %s!</string>
<plurals name=”inbox_message_count”>
	<item quantity=”zero”>Your inbox is completely empty!</item>
	<item quantity=”one”>You one message in your inbox!</item>
	<item quantity=”two”>You two messages waiting to be read!</item>
	<item quantity=”few”>You have %d messages waiting!</item>
	<item quantity=”many”>%1$d messages in your inbox! %2$s, youshould really login here more often!</item>
	<item quantity=”other”>%1$d messages in your inbox! %2$s, youshould really login here more often!</item>
</plurals>
<string-array name=”default_categories”>
	<item>Work</item>
	<item>Personal</item>
	<item>Private</item>
	<item>Spam</item>
	<item>Trash</item>
	<item>Draft</item>
</string-array>

格式化

Strings.xml可以写格式化字符串,此处%s可用String来填补

例子

    public void showWelcomeMessage(String name) {
        ((TextView) findViewById(R.id.welcome_message_field)).
        setText(getString(R.string.personal_welcome_message, name));
}

复数

示例代码

public void showInboxCountMessage(int inboxCount, String name) {
        Resources res = getResources();
        String inboxCountMessage = res.
                getQuantityString(R.plurals.inbox_message_count, inboxCount,
                        name);
        ((TextView) findViewById(R.id.inbox_count_field)).
                setText(inboxCountMessage);
}

这种方式主要用来处理不同数量时显示不同的字符串,getQuantityString的第二个参数就是数量,android里的数量有几种zero,one,two,few,many

可参考http://blog.csdn.net/ff313976/article/details/7439676

 

字符串数组

可以把一些相关的字符串放入一个字符串数组内,示例代码如下

public void displayCategories() {
        ListView listView = (ListView) findViewById(R.id.category_list);
        Resources res = getResources();
        String[] categories = res.getStringArray(R.array.default_categories);
        ArrayAdapter<String> categoriesadapter = new
                ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, android.R.id.text1,
                categories);
        listView.setAdapter(categoriesadapter);
}

参考文献

android pragramming push the limits

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值