[问题] TextView OnClick showDialog事件

楼主: jacky951 (蓝忆)   2015-01-19 11:40:22
各位前辈好:
我想写一个日期专用的textView,透过onclick选择日期
因为不想要每个textView都重新copy/paste,所以想自己做一个元件。
只是在show Dailog的时候都会有error产生,想请版上先进帮我看一下有什么问题。
部分程式码如下:
DateTextView extends TextView{
private DatePickerDailog dpd;
....
....
//建构子
public DateTextView(Context context, AttributeSet attrs) {
super(context, attrs);
Log.d("DateTextView", "constructor");
setAttributeField(attrs);
dpd = new DatePickerDialog(getContext(),
onDateSetListener,
cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH),
cal.get(Calendar.DAY_OF_MONTH));
}
@Override
public void onClick(view v){
//这行没有会出现removeChild error
((ViewGroup) this.getParent()).removeView(this);
//这行会出现requestFeature() must be called before adding content
dpd.show();
}
}
作者: roganwww (=..=)   2015-01-19 12:09:00
楼主: jacky951 (蓝忆)   2015-01-19 12:38:00
那个已经google 过了 不过没有跟我一样的情况我也知道setContetView这个动作必须在requsetF...之前重点在于如何把textView & Dialog绑在 某个activity底下
作者: skypiece (SkeeterWang)   2015-01-20 02:52:00
请问一下为何要removeView? 另外Constructor中已经带入context 为何不使用该context 而是使用getContext()?不能将private DatePickerDailog dpd; 宣告为static 吗?
楼主: jacky951 (蓝忆)   2015-01-22 18:39:00
是不赶时间啦 就想了解是怎么运作,学一下这样。谢谢你喔~
作者: skypiece (SkeeterWang)   2015-01-22 21:57:00
只知道原因出在 findDatePicker(ViewGroup group)只要有call就爆炸...picker = datePickerDialog.getDatePicker(); 改成这样就可正常使用http://codepad.org/n1UccPi0 可隐藏字段"年"用findDatePicker(ViewGroup group) 找datePicker一直return null... 我比较好奇为什么要这样做= =?虽然说其实代码看起来没啥问题.. 恕小弟不才帮不上忙了.
楼主: jacky951 (蓝忆)   2015-01-23 09:35:00
不会啦 真的很感谢你~我再研究研究老实说我也不知道加findDatePicker是干嘛的 哈可能是那个时候不知道没研究到怎么取datepicker的时候先用网络上人家的Code试看看的吧!

Links booklink

Contact Us: admin [ a t ] ucptt.com