Android自定义控件使用到XML的时候报错no such method
2015-12-15 17:09
489 查看
今天自定义一个View
继承ImageView,然后用在XML里
自定义的类如下
XML引用如下(包名是正确的)
运行报错.解析XML的时候出错,
仔细看 原因加载构造器的时候报错的
在ImageView里有三个构造器,
我只重写了第一个,
原因:解析XML的时候会用到第二个构造器
如果直接在代码里new 就不报错了
一定要在XML里用就要重写第二个构造器
好了 可以放心食用了
继承ImageView,然后用在XML里
自定义的类如下
public class MyView extends ImageView{ public MyView(Context context) { // TODO Auto-generated constructor stub super(context); ObjectAnimator colorAnim = (ObjectAnimator) AnimatorInflater.loadAnimator(context,R.animator.testanim); colorAnim.setEvaluator( new ArgbEvaluator()); colorAnim.setTarget(this); colorAnim.start(); } }
XML引用如下(包名是正确的)
<com.weikang.customView.MyView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/img"/>
运行报错.解析XML的时候出错,
no such method
仔细看 原因加载构造器的时候报错的
在ImageView里有三个构造器,
public ImageView(Context context) { super(context); initImageView(); } public ImageView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public ImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); initImageView();
我只重写了第一个,
no such method报错是说第二个
原因:解析XML的时候会用到第二个构造器
如果直接在代码里new 就不报错了
一定要在XML里用就要重写第二个构造器
public class MyView extends ImageView{ public MyView(Context context,AttributeSet attr) { // TODO Auto-generated constructor stub super(context,attr); ObjectAnimator colorAnim = (ObjectAnimator) AnimatorInflater.loadAnimator(context,R.animator.testanim); colorAnim.setEvaluator( new ArgbEvaluator()); colorAnim.setTarget(this); colorAnim.start(); } }
好了 可以放心食用了
相关文章推荐
- android 百度地图定位与覆盖物的添加,以及他们的点击事件
- Android开发艺术2之Activity的启动模式
- Android字符串资源及其格式化
- Android去掉标题栏
- Android EditText在开始显示时失去焦点
- Android 2D Graphics学习(二)、Canvas篇2、Canvas裁剪和Region、RegionIterator
- Android自定义Switch开关
- 基于 Android NDK 的学习之旅-----Android.mk 介绍
- Activity跳转生命周期变化
- Android NDK开发之HelloWorld
- Android之ListView分页获取网路数据(服务器端)(一)
- conn.getInputStream 显示为空指针
- Android沉浸式状态栏(二)
- Uncaught ReferenceError while loading asset file on android 4.4
- android之遍历所有文件夹和子目录搜索文件
- 在学习过程中总结的LoaderManager的LoaderCallbacks刷新数据以使onLoadFinished回调方法能被执行的两种方式
- Android开发-asset中文件超过1M的解决方法
- Android LitePal介绍与使用说明
- Android使用ListView实现时间轴可添加标题和子栏目
- android设置主题和自定义主题的方法