2016-12-30 137 views
2

Activity,我開始一個圖像選擇的活動是這樣的:視圖可以從活動中獲得結果嗎?

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
intent.setType("image/*"); 
startActivityForResult(Intent.createChooser(intent,"Select Image"), 0); 

,並通過在同一Activity實施onActivityResult()得到的結果。

現在我有一個自定義View類,從中我想做同樣的事情,或類似的。 但我希望這個班級得到結果,而不必讓父母Activity實施onActivityResult(),只將結果交給我的班級。

我該怎麼做?
謝謝。

回答

5

這是不可能的。 onActivityResult()總是去一個活動。該活動可以將結果委託給其他人,例如片段如何獲得他們自己的startActivityForResult()調用的結果。

(我會進一步認爲,一個小部件不應該被調用startActivity()startActivityForResult(),因爲這並不真正適合任何GUI架構,我能想到的)

+3

有是does-片段一個GUI元素。根據他的邏輯的複雜程度,將視圖轉變爲持有視圖的片段可能是有意義的。 –

+0

感謝您的意見。我用一個對話框替換了有問題的活動,這對於這個目的來說工作得很好。 –

相關問題