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