在Fragment中new控件报错,cannot be applied,在碎片中使用Context对象报错

在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);

猜你喜欢

转载自blog.csdn.net/Qingshan_z/article/details/127682441