在Fragment中new 一个控件报错’ImageView(android.content.Context)’ in ‘android.widget.ImageView’ cannot be applied 在碎片中使用Context对象报错
问题描述:
报错信息:
原因是因为 fragment不是context的子类。要用getActivity
在碎片中需要使用Context对象时,要使用getActivity()方法。因为获取到活动本身就是一个Context。
每个碎片也可以通过调用getActivity()方法来得到和当前碎片相关联的活动实例。
(出自:《第一行代码----Android》P151:碎片和活动间的通信)
解决方法:
//定义全局变量
privite Activity mActivity;
//在oncreate方法中实例化mActivity,调用getActivity()
mActivity=getActivity();
//在new一个控件的时候:把this换成mActivity
imageView=new ImageView(mActivity);