簡體   English   中英

Android Intent活動回調

[英]Android Intent Activity Callback

我正在開發一個基本上包含自定義View的Android模塊,第三方可以直接參與其任何活動。 該模塊包括配置活動(基於PreferenceActivity)。

鑒於您無法從View啟動活動,模塊將在顯示的活動上調用“ openConfig(Intent intent)”。此活動充當模塊的委托。

到目前為止,它仍然可以正常工作(盡管我真的很希望模塊可以內部處理所有事情,不需要委托方法,但我認為這是不可能的)。 但是,我需要從首選項活動到模塊的某種回調,以便在更改設置后通知模塊。

我當時只是想將模塊的主類添加為首選項活動的委托。

ConfigActivity a = new ConfigActivity();
a.testVar = "testtest";
Intent intent = new Intent(getContext(), a.getClass());
delegate.handleConfigAction(intent); //

但是,僅使用一個簡單的String(而不是接口)進行的測試顯示,活動開始后不會設置String。

第二個想法是在意圖上使用'putExtra()',但這並不完全適合用例,因為我想放置的委托實際上是一個View而不是一個可序列化的數據對象。

我有什么辦法可以在內部進行處理嗎? 我知道'onActivityResult()'函數( http://developer.android.com/training/basics/intents/result.html ),但這意味着使用我的模塊的第三方開發人員需要處理此問題,出於明顯的原因需要避免的事情。

任何幫助將不勝感激!

編輯:最終解決方案最后,我將模塊從“視圖”更改為“片段”,現在該模塊在處理“子”活動等方面效果更好。 從片段開始活動時,“ onActivityResult”功能可以很好地完成手頭的任務。

您可以使用其ContextView啟動Activity ,如下所示:

@Override
public void onClick() {
    Intent intent = new Intent(getContext(), ConfigActivity.class);
    intent.putExtra("testVar", "testtest");
    getContext().startActivity(intent);
}

您可以使用onWindowVisibilityChanged()方法讀取將在ConfigActivity設置的配置,以使View更改其行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM