当前位置: 代码迷 >> Android >> 其它类(非MainActivity的内部类)如何去调用MainActivity中定义的方法(非静态方法)
  详细解决方案

其它类(非MainActivity的内部类)如何去调用MainActivity中定义的方法(非静态方法)

热度:38   发布时间:2016-05-01 17:45:22.0
其它类(非MainActivity的内部类)怎么去调用MainActivity中定义的方法(非静态方法)?
其它类(非MainActivity的内部类)怎么去调用MainActivity中定义的方法(非静态方法)?


这个其它类不是从Activity继承而来,所以想通过MainActivity类(继承自Activity类,所以有一些方法可以直接使用,因为它遵守ANDROID下的一些框架)的方法来做一些事情。像发广播消息什么的。


MainActivity类在开始就被ONCREATE( )了,所以应该已经实例化了,但在其它类中怎么引用?怎么去getInstance把MainActivity的实例得到???!!!


在其它类直接MainActivity.this.xxx( )这样引用不行,报下面的错误:

No enclosing instance of the type MainActivity is accessible in scope.


其它类直接写成MainActivity的内部类就没这样的问题,想不明白!!!



------解决方案--------------------
传对象:
Java code
public class MainActivity extends Activity{   ……   public void anotherClass()   {      AnotherClass activity = new AnotherClass(this);   }}public class AnotherClass{    private MainActivity activity;    public AnotherClass(MainActivity activity)    {       this.activity = activity;    }}