作者slemonade (淳)
看板AndroidDev
标题Re: [问题] view 与 class 的问题
时间Fri May 23 12:03:47 2014
※ 引述《redok (火焰)》之铭言:
: 大家好
: 我将一个class (叫做Outter) extends 一个 TextView
: 然後在 MainActivity的 layout xml 中写下了
: <View
: class="com.nextzero.testview.Outter"
: android:id="@+id/outter_layout"
: android:layout_height="wrap_content"
: android:layout_width="wrap_content"/>
: 然後Outter class 有覆写 TextView原本的constructor (三个都有)
: public Outter(Context context, AttributeSet attrs, int defStyle) ...略
: 可是我在 MainActivity中,却无法将我的View给取出
: Outter view = (Outter)findViewById( R.id.outter_layout);
: 这一行出现 ClassCastException ,可是我完全看不出来哪里有问题...
: 可以请问为什麽吗? 谢谢
: 附上完整程式码link:
: https://dl.dropboxusercontent.com/u/110205128/TestView.zip
我又试了一下,你原本的方法是没错的,会错误是因为你的outter.class这个view的建构子有问题;你的建构子里面有toast一个讯息,但是你少了一行初始化的动作:this.context=context;所以你的view的context=null,於是toast产生错误,错误是这样产生的。只要将那行在toast之前补上去,你原本的写法应该就能执行了。
--
Sent from my Android
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.254.50.224
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1400817828.A.E7B.html
1F:→ slemonade:好像又有点不太对,不过把toast拿掉後是正常的,我说的 05/23 14:56
2F:→ slemonade:不一定对,你参考试试哦 05/23 14:56
3F:推 redok:QQ谢谢大大 我找一下我看到的范例再贴连结 05/23 21:57
4F:→ redok:找不太到||| 05/24 19:19