4
下面是示例代码:如何从不使用外部类名的内部类获取对外部类的引用?
Class SomeClass extends Activity {
public void someMethod() {
Runnable r = new Runnable() {
public void run() {
Intent service = new Intent(SomeClass.this, SomeOtherClass.class);
// ...
}
}
}
}
我如何更改代码SomeClass
(在new Intent(SomeClass.this, ...)
)不能使用? 我想把这个示例放在多个类中,我不想每次都使用不同的类名。
这个答案很好,并且提供了很好的解决方案,但是我想提一下,使用mContext保持对上下文的引用应该谨慎。它很容易导致记忆韭菜。 – 2012-07-18 15:47:21
解决方案是可以接受的...似乎我会用它,谢谢......但是有没有一种纯粹的java方式来访问外部类没有任何私人领域和调用超类的任何方法(在这种情况下'活动')? – Prizoff 2012-07-18 15:53:05
如果您有多个类在其中创建一个字段来存储对上下文的引用,静态获取上下文可能是一个优选的方式: http://stackoverflow.com/questions/2002288/static-way-to-获得上下文上,机器人 – 2015-10-26 13:22:16