2011-06-14 39 views
2

這是一個跟進我剛纔的問題: How to Start an Intent from a contained class of an Activity如何從一個包含類的活動的啓動對結果的意圖(startActivityForResult)

基本上,我意識到,我需要調用startActivityForResult(而不是startActivity )從一個Activity的包含類中。上一個問題的答案從Activity類傳遞到包含的類的上下文。但是,單憑上下文並不足以致電StartActivityForResult

這樣做的最好方法是什麼?我是否必須將整個活動類傳遞給包含類中的方法?

回答

2

是的。將您的Activity作爲參數傳遞給包含的類。

P.S.不要將引用存儲到活動中。隨你需要將它傳入。

1

嗯,看你的問題,你應該能夠做到這一點:

Class TestLauncher 
{ 
    public TestLauncher (Context c) 
    { 
     Intent i = new Intent(MainActivity.this, YourActivity.class) 
     MainActivity.this.startActivityForResult(i, 1); 
    } 
} 

試一下,看看它是否工作。

+0

從他的另一個問題,我不認爲「包含」類實際上是一個包含的內部類。它是一個獨立的類,Activity有一個包含在其中的類的實例。混淆和不準確的措辭,但我認爲這是我們正在處理的情況。 – LeffelMania 2011-06-14 23:09:19

+1

啊。然後通過它可能是前進的方向。 – Femi 2011-06-14 23:11:51

+0

@LeffelMania - 你說得對,那就是我的意思......對於一個屬於主類的對象來說,什麼是正確的術語(所以我不會將未來的人混淆)? – 2011-06-14 23:33:58

相關問題