1
的選擇器我有試圖掩蓋約一年文件日期選擇器。的Android無法掩飾一年場
我搜索了一些方法。我覺得這個方法適合我。
但我沒有實現確定。 = =
我使用 的ShowDialog(0); 命令來調用日期選擇器。
然後更改下面的一些代碼:
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0:
dlg =new DatePickerDialog(this, dsl, mYear, mMonth, mDay);
try
{
Field f[] = dlg.getClass().getDeclaredFields();
for(Field field :f)
{
Log.e("info", "f:"+field.getName());
if(field.getName().equals("mYearPicker"))
{
field.setAccessible(true);
Object yearPicker = new Object();
yearPicker = field.get(dlg);
((View) yearPicker).setVisibility(View.GONE);
}
}
dlg.setTitle(SystemData.DATEPICKER_TITLE);
dlg.setButton(DatePickerDialog.BUTTON_POSITIVE, SystemData.DATEPICKER_SUBMIT, dlg);
}
catch(SecurityException e)
{
Log.d("info", e.getMessage());
}
catch(IllegalArgumentException e)
{
Log.e("info", e.getMessage());
}
catch(IllegalAccessException e)
{
Log.e("info", e.getMessage());
}
return dlg;
default:
break;
}
return null;
}
但我運行的代碼。 Year字段已存在。
是否有任何人知道爲什麼嗎?
我嘗試輸出field.getName(),我只是得到下面
02-21 14:28:21.245: E/info(32085): f:DAY
02-21 14:28:21.245: E/info(32085): f:MONTH
02-21 14:28:21.245: E/info(32085): f:YEAR
02-21 14:28:21.245: E/info(32085): f:mCallBack
02-21 14:28:21.245: E/info(32085): f:mDatePicker
於是我嘗試用mYearPicker取代一年。
但我會得到下面的錯誤消息。
02-21 14:30:59.909: E/AndroidRuntime(32523): FATAL EXCEPTION: main
02-21 14:30:59.909: E/AndroidRuntime(32523): java.lang.ClassCastException: java.lang.String cannot be cast to android.view.View
有沒有人知道如何使用方法修復來隱藏年份字段和上層android 2.2版本?
非常感謝。
謝謝@alexk。我用你的底部。它工作正常。謝謝〜 – dickfala
嗨alexk,我可以問你嗎?你知道如何聽datepicker onchanged嗎?我的意思是用「showDialog(0);」方法。因爲我總是要設置日期選擇器標題。如果我在onDateSet中寫入,當我點擊添加日期時,標題將顯示。謝謝。 – dickfala
我發現這 http://stackoverflow.com/questions/2051153/android-ondatechangedlistener-how-do-you-set-this 基本上它說你需要在datePicker對象上運行init()。 函數是init(INT年,INT monthOfYear,INT請將dayOfMonth,OnDateChangedListener onDateChangedListener) 希望它可以幫助 – alexk