簡體   English   中英

通過strartActivityforResult()將數據從片段傳遞到活動

[英]pass data from fragment to activity by strartActivityforResult()

我的應用程序顯示活動。當用戶按下按鈕時,應用程序將轉到片段-有7個片段-。用戶將從其中一個片段中按下按鈕。此后,該應用程序將String和integer值傳遞給活動。該應用程序將打開活動 。 我嘗試通過startActivityforResult()從“活動”轉到片段,然后開始工作。然后,我嘗試將數據從片段發送到活動,應用停止了。

活動中

       Intent a =new Intent("android.intent.action.DEFAULT");
                startActivityForResult(a,1);

  }

  @Override
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode ==1)
    {

        newnamem =data.getExtras().getString("name");
        newcm=data.getExtras().getInt("calory");
        return;

    }
   }

片段中

   Intent a = new Intent(getActivity(),main.class);
            a.putExtra("calory", Content.Mil001.calory);
            a.putExtra("name", Content.Mil001.meal);
            getActivity().fnish();

我使用三種方法。

  • 實施接口-使用getter和setter方法(回調方法)創建接口。 然后在您的活動中實現接口並調用這些方法。
  • 使用公共方法-在您的活動中,創建公共getter和setter方法。

    示例:getActivity()。getCalory(),getActivity()。setCalory(args)

  • 使用EventBus https://github.com/greenrobot/EventBus

暫無
暫無

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

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