簡體   English   中英

Android中片段之間的StartActivityForResult()和OnActivityResult()功能

[英]StartActivityForResult() and OnActivityResult() functionality between fragments in android

我在Android應用程序中有兩個片段,當我從一個片段移到另一個片段並做了一些工作時,回來時我想將一些結果傳遞給我的第一個片段。 如果可以,這可能嗎?

使用回調在Fragments Developer Android之間進行交互

讓活動將更改應用於其片段比直接在片段之間傳遞值更好。 讓您的Activity使用onQuery(Bundle data)和onResult(Bundle data)方法實現FragmentListener接口。

在每個片段中創建一個FragmentListener變量,然后將每個片段的onAttach()重寫為:

 public void onAttach(Activity activity) {
    super.onAttach(activity);

    //---register parent activity for events---
    try{
        fragmentListener = (FragmentListener) activity;
    }catch (ClassCastException e)
    {
        throw new ClassCastException("Parent activity must implement interface FragmentListener.");
    }
  }

這將強制您的子片段自動注冊到父活動。

現在,您可以從片段中調用您的活動。

另一方面,您的Activity始終可以使用getFragmentManager()。findFragmentByTag(“ fragmentA”)或findFragmentById(“ FragmentA”)搜索片段。 如果可以找到您的Fragment,則可以將其轉換為FragmentA類並調用其方法。 FragmentB或任何其他片段也可以這樣做。

暫無
暫無

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

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