android No enclosing instance of type

android No enclosing instance of type,产生的原因在于内部类的使用方法上的细节问题:主要是因为在A.class当中嵌套了B.clas而且两个类都为public时,在调用B.class的时候就会出现出现提示:“ 没有可访问的内部类E的实例,必须分配一个合适的内部类E的实例(如x.new A(),x必须是E的实例。)”这样子解决的方法大概有两种,
一:
把B.class改成static的静态类,博文来源: http://blog.sina.com.cn/s/blog_6400e5c501019sl3.html
个人不建议使用这种方法,这样子会导致B.class当中如果需要调用到A.class当中的其他的方法或变量那么也会需要相应的更改成static,工作量大而且和实际需求都不服!那么就是我们的第二种了
二:先实例化A.class——在使用A.lass的实例化对象来new一个B.class
个人遇到问题时的代码如下:
CClientSessionBiaoqing client = new CClientSessionBiaoqing();
CClientSessionBiaoqing.DownloadAsyncTask asynTask=client.new DownloadAsyncTask(getCurrentBar(info.iId));
A.class——CClientSessionBiaoqing.class
B.class——DownloadAsyncTask.class

你可能感兴趣的:(Android-基础)