示例代码如下:
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, ...)
中)?
我想将这个示例放在多个类中,我不想每次都使用不同的类名。
最佳答案
较短的方法(建议):
将 Intent 中的 SomeClass.this
替换为 getApplicationContext()
应该可以解决问题。
我使用的方法(有点冗长,可能不是两者中最好的):
在每个类中,创建一个private Context mContext;
然后,在每个类的onCreate()
中,使mContext = this;
最后,将 Intent 中的 SomeClass.this
替换为 mContext
。
关于java - 如何在不使用外部类名称的情况下从内部类获取对外部类的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11545088/