DatePickerDialog 只显示年 (解决不同语言顺序不一样的问题)

<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="html"><pre name="code" class="html">
 
 

 

最近的项目 由于赶进度就直接使用了系统自带的日期选择器,但是做图表选择年份的时候遇到“胡同”了,只显示年份。去网上搜了下 有解决方法可以隐藏月日的(就是只让第一个位置的NumberPicker显示),但是那种方式只能在中文韩文等语言下可以,英文的话顺序是不一样的。下面2张图是中英文语言下的显示方式:

   



 这样年的位置就不固定了,所以我要继续找解决方法。由于我用的4.4的api,于是乎自己去看了下4.4的源码 ,然后找到了这个东东:下面代理里面根据当前语言格式解析出来的char[]然后顺序显示年月日的顺序,那么我的下手点就很明确了,我要找到这个char[]里面‘y’的位置。 

 private void reorderSpinners() {
        mSpinners.removeAllViews();
        // We use numeric spinners for year and day, but textual months. Ask icu4c what
        // order the user's locale uses for that combination. http://b/7207103.
        String pattern = ICU.getBestDateTimePattern("yyyyMMMdd", Locale.getDefault().toString());
        char[] order = ICU.getDateFormatOrder(pattern);
        final int spinnerCount = order.length;
        for (int i = 0; i < spinnerCount; i++) {
            switch (order[i]) {
                case 'd':
                    mSpinners.addView(mDaySpinner);
                    setImeOptions(mDaySpinner, spinnerCount, i);
                    break;
                case 'M':
                    mSpinners.addView(mMonthSpinner);
                    setIm
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值