繁体   English   中英

Android 4.1和4.2中的DatePicker问题

[英]DatePicker issue in android 4.1 and 4.2

我正在为所有版本(版本2.2至4.2)开发一个android应用。 我在其中使用datePicker,并使用以下代码将所选日期的颜色更改为白色:

if (currentapiVersion >= 14) {

    ViewGroup dayChildpicker = (ViewGroup) datePicker
            .findViewById (Resources.getSystem().getIdentifier("day", "id", "android"));
    ViewGroup monthChildpicker = (ViewGroup) datePicker
            .findViewById(Resources.getSystem().getIdentifier("month", "id", "android"));
    ViewGroup yearChildpicker = (ViewGroup) datePicker
            .findViewById(Resources.getSystem().getIdentifier("year", "id", "android"));

    EditText dayET = null;
    EditText mornthET = null;
    EditText yearET = null;

    dayET = (EditText) dayChildpicker.getChildAt(1);
    mornthET = (EditText) monthChildpicker.getChildAt(1);
    yearET = (EditText) yearChildpicker.getChildAt(1);

    dayET.setTextColor(Color.WHITE); // null pointer error on this line
    mornthET.setTextColor(Color.WHITE);
    yearET.setTextColor(Color.WHITE);
}

但这会在android 4.1和4.2(果冻豆)中抛出空指针异常

dayET.setTextColor(Color.WHITE);

在果冻豆中,我没有在datepicker中获得“编辑文本”视图。

在豆形软糖中获取日期选择器子项的方法是什么,以及如何在日期选择器中更改所选日期的文本颜色。

请指导我。

我不确定getChildAt(1)真正获得了控件,因为可能无法保证ViewGroup控件的顺序。 但是,您应该能够通过标识符以不同的方式引用这些内容

改变这些

dayET = (EditText) dayChildpicker.getChildAt(1);
mornthET = (EditText) monthChildpicker.getChildAt(1);
yearET = (EditText) yearChildpicker.getChildAt(1);

对于这些

dayET = (EditText) dayChildpicker.findViewById(Resources.getSystem().getIdentifier("numberpicker_input", "id",  "android"));
mornthET = (EditText) monthChildpicker.findViewById(Resources.getSystem().getIdentifier("numberpicker_input", "id",  "android"));
yearET = (EditText) yearChildpicker.findViewById(Resources.getSystem().getIdentifier("numberpicker_input", "id",  "android"));

这样可以使您正确引用这些内容,而不会出现空指针错误。

让我知道您是否还有其他问题或不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM