簡體   English   中英

如何從另一個活動中獲取價值並帶回上一個片段?

[英]How to get value from another activity and bring back to previous fragment?

我有一個活動,有3個片段(FragmentA,FragmentB,FragmentC),如滑動標簽。 從FragmentB調用另一個活動(讓其稱為ActivityBB)。 從活動BB獲取項目后,如何從活動BB獲取價值並帶回上一個FragmentB?

好吧,我想到了三種方式。 可能還有更多。 但是現在讓我告訴你那些。

  1. 在ActivityBB上,將要保存的值放在SharedPreferences中。 然后重新啟動您的活動。 是的,僅當您具有可以按鍵值對排列的值時,這才可能起作用。 而且也不是正確的做事方式。 但是會完成您的工作的。

要重新啟動活動,請使用此代碼。 然后從SharedPreferences獲取您的值。

Intent intent = getIntent();
finish();
startActivity(intent);
  1. 您可以實現接口。 此方法是片段之間通信的最佳方法。 有關更多詳細信息,請查閱Google文檔。

http://developer.android.com/training/basics/fragments/communicating.html

  1. 您可以使用套裝。 為此,請檢查此鏈接。

如何在Android中將一個片段的值傳遞給另一個片段?

您可以嘗試這樣。.將您的價值傳遞給意圖。

您的ActivityBB中的這段代碼

 Intent intent = new Intent(ActivityBB.this,ActivityBB.class);
            intent.putExtra("yourDataKey",yourData)
            startActivity(intent);

之后,將您的價值添加到ActivityAA中,並向片段加載所需的數據

Intent intent = getIntent();
String yourValue = intent.getExtra("yourDataKey");

我通過以下流程解決了這個使用意圖和捆綁:

  • MainActivity(FragmentA,FragmentB,FragmentC)
    此activty(eq:來自FragmentB)使用Intent將數據傳遞給ActivityBB

  • 在此活動中onClick ListItem上的ActivityBB中,我使用捆綁包傳遞數據並調用MainActivity(因為我想使用ActivityBB中的項目值返回到我之前的片段)

  • 我在MainActivity的onCreate方法中通過捆綁創建條件以顯示currentItem(viewPager)

實際上是它的工作,但是我認為這不是正確的方法。 我希望任何人都能以適當的方式找到解決方案。

暫無
暫無

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

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