繁体   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