请告诉我如何使用Datapicker对话框在Datapicker中仅显示月和年
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());
}
}
};发布于 2012-06-29 19:35:30
AFAIK如果你想实现它,你可能不得不用定制的方式来实现。
但谢天谢地,Here有很好的DateSlider框架可用
这将为您提供以下输出。

代码驻留在
http://code.google.com/p/android-dateslider/
他们也转移到了Git,在那里你可以找到最新的代码
发布于 2013-03-23 22:05:54
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());
}发布于 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);
https://stackoverflow.com/questions/11260962
复制相似问题