首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用datapicker对话框在datapicker中仅显示月和年

如何使用datapicker对话框在datapicker中仅显示月和年
EN

Stack Overflow用户
提问于 2012-06-29 19:27:13
回答 4查看 4.1K关注 0票数 0

请告诉我如何使用Datapicker对话框在Datapicker中仅显示月和年

代码语言:javascript
复制
private DatePickerDialog.OnDateSetListener mDateSetListener2 =   new DatePickerDialog.OnDateSetListener() {

        public void onDateSet(DatePicker view, int year, 
                              int monthOfYear, int dayOfMonth) {
            try {
                Log.e("","myear"+mYear_1+","+"myear"+mMonth_1+","+mDay_1);
             Field f[] = mDateSetListener2.getClass().getDeclaredFields();
             for (Field field : f) {
                 if (field.getName().equals("mDatePicker")) {
                     field.setAccessible(true);
                  Object dayPicker = new Object();
                  dayPicker = field.get(mDateSetListener2);
                  ((View) dayPicker).setVisibility(View.GONE);
                 }
             }
                     } catch (SecurityException e) {
             Log.e("ERROR", e.getMessage());
             } 
             catch (IllegalArgumentException e) {
             Log.e("ERROR", e.getMessage());
             } catch (IllegalAccessException e) {
             Log.e("ERROR", e.getMessage());
             }

            }
    };
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-06-29 19:35:30

AFAIK如果你想实现它,你可能不得不用定制的方式来实现。

但谢天谢地,Here有很好的DateSlider框架可用

这将为您提供以下输出。

代码驻留在

http://code.google.com/p/android-dateslider/

他们也转移到了Git,在那里你可以找到最新的代码

https://github.com/bendemboski/DateSlider

票数 1
EN

Stack Overflow用户

发布于 2013-03-23 22:05:54

代码语言:javascript
复制
picker = (DatePicker) findViewById(R.id.datePicker1);
try {
    Field f[] = picker.getClass().getDeclaredFields();
    for (Field field : f) {
        if (field.getName().equals("mDayPicker")) {
            field.setAccessible(true);
            Object dayPicker = new Object();
            dayPicker = field.get(picker);
            ((View) dayPicker).setVisibility(View.GONE);
        }
    }
} catch (SecurityException e) {
   Log.d("ERROR", e.getMessage());
} catch (IllegalArgumentException e) {
   Log.d("ERROR", e.getMessage());
} catch (IllegalAccessException e) {
   Log.d("ERROR", e.getMessage());
}
票数 1
EN

Stack Overflow用户

发布于 2013-08-31 20:19:55

如果我们替换以下内容,ρяσѕρєяK的答案将完美工作:

((ViewGroup) dp.getChildAt(1)).getChildAt(1).setVisibility(View.GONE);

通过

((ViewGroup)((ViewGroup)dp.getChildAt(0)).getChildAt(0)).getChildAt(0).setVisibility(View.GONE);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11260962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档