Android 带参数的构造函数调用问题,请帮忙讲解,如附图,谢谢!
3个回答
展开全部
HSuperImageView的构造函数 需要传一个Context类型的参数 HSuperIMageVIew(context)。MainActivity.this 继承自Activity,是个Context。但是PuDongLei.this 只是个普通类就不是Context了,所以会报错。
如果要在PuDongLei中用的话,你可以选择在PuDongLei构造的时候传入Context
public class PuDongLei{
private Context mContext;
private HSuperImageView imageView;
public PuDongLei(Conext context){
// 如果只在构造时用到context,直接这么写也行
// imageView=new HSuperImageView(context)
mContext=context;
initPuDongLei();
}
public void initPuDongLei(){
imageView=new HSuperImageView(mContext);
}
}
不管怎么做,传给HSuperImageView一个Context类型的参数就可以new了
更多追问追答
追问
这样写下面调用imageView的方法的时候,imageView报空指针,比如imageView.getXXXX();会报空啊!imageView会为null,求指正
追答
你传给PuDongHui构造函数的是个什么Context?
PuDonghui类代码和new PuDonghui时候的代码能贴上来吗?
展开全部
你的参数不对,简单理解就是this代表当前类的对象,在你这this就是PuDongLei的对象,显然不是Context的对象,所以自然报错
所以可以在PuDongLei类中声明一个Context成员变量,然后创建HSuperImageView对象时传入这个Context对象即可
所以可以在PuDongLei类中声明一个Context成员变量,然后创建HSuperImageView对象时传入这个Context对象即可
追问
那下面调用HSuperImageView的方法的时候还是不能用啊,报对象是null啊,还要怎么写啊?谢谢
追答
photoedition2是null,只能说明你那个context有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你还是没理解this代表的是啥。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询