其它类(非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的内部类就没这样的问题,想不明白!!!
这个其它类不是从Activity继承而来,所以想通过MainActivity类(继承自Activity类,所以有一些方法可以直接使用,因为它遵守ANDROID下的一些框架)的方法来做一些事情。像发广播消息什么的。
MainActivity类在开始就被ONCREATE( )了,所以应该已经实例化了,但在其它类中怎么引用?怎么去getInstance把MainActivity的实例得到???!!!
在其它类直接MainActivity.this.xxx( )这样引用不行,报下面的错误:No enclosing instance of the type MainActivity is accessible in scope.
其它类直接写成MainActivity的内部类就没这样的问题,想不明白!!!
解决方案 »
- Android 自定义view在虚拟机出错
- 200分 求关键词 安卓有没有类似windows ReadProcessMemory 用于读目标进程内存
- android中bitmap释放问题
- 请教一个google map 拖拽事件的问题
- Android的几个很基本问题。100分送上!!
- 【词典开发】如何调用本地的词库啊
- android 如何listview显示图片文件的缩略图?
- 开发具备语音识别功能的 Android* 应用
- 修改Launcher启动后图标显示为低分辨率问题
- android camera开发中碰到的setPictureFormat问题
- 看一下这段代码,我想用拖动这个圆,可以移动的位置一直不对,求解
- 请教:清空gridview中已有数据
觉得还有一种方法就是通过消息机制来完成。其它类发一个消息给 MainActivity ,让它去处理!!!
--------------
在其它类直接MainActivity.this.xxx( )这样引用不行,报下面的错误:
No enclosing instance of the type MainActivity is accessible in scope.
其它类直接写成MainActivity的内部类就没这样的问题,想不明白!!!
--------------一个普通内部类(非static的)拥有它的外围类的所有成员的访问权限,也可以引用外围类的对象:外围类的名称.this
{
……
public void anotherClass()
{
AnotherClass activity = new AnotherClass(this);
}
}public class AnotherClass
{
private MainActivity activity;
public AnotherClass(MainActivity activity)
{
this.activity = activity;
}
}
传接口:public interface IActivity
{
// 与Activity里同名同参数的方法声明
}public class MainActivity extends Activity implements IActivity
{
……
public void anotherClass()
{
AnotherClass activity = new AnotherClass(this);
}
}public class AnotherClass
{
private IActivity iActivity;
public AnotherClass(IActivity iActivity)
{
this.iActivity = iActivity;
}
}