挑战练习13.7 复数字符串资源

按照书里步骤来就行


1.首先,在strings.xml文件中定义复数字符串资源。

1 <plurals name="subtitle_plural">
2         <item quantity="one">%1$d crime</item>
3         <item quantity="other">%1$d crimes</item>
4     </plurals>

2.然后,在updateSutitle方法里面修改,使用getQuantityString方法正确处理单复数问题

 1  private void updateSubtitle() {
 2         CrimeLab crimeLab = CrimeLab.get(getActivity());
 3         /*
 4         int crimeCount = crimeLab.getmCrimes().size();
 5         //getString方法接收字符串资源中的占位符的替换值
 6         String subtitle = getString(R.string.subtitle_Format, crimeCount);
 7         */
 8         int crimeSize = crimeLab.getmCrimes().size();
 9         String subtitle = getResources().getQuantityString(R.plurals.subtitle_plural, crimeSize, crimeSize);
10 
11 
12         if (!mSubtitleVisible) {
13             subtitle = null;
14         }
15 
16         AppCompatActivity activity = (AppCompatActivity) getActivity();
17         activity.getSupportActionBar().setSubtitle(subtitle);
18     }

3.运行效果:


原文地址:https://www.cnblogs.com/real1587/p/10027225.html