java - 从 Intent 获取上下文

标签 java android android-intent

我有一个 Activity StaggeredPrenotaTour 通过 Intent 启动第二个 Activity Details,类 Details 包含一个AsyncTaskReservationTask,在对网络进行一些操作后,它必须传递一个 Java Object 返回 StaggeredPrenotaTour 类。

StaggeredPrenotaTour 在它开始的地方细节:

      Intent message = new Intent(staggeredPrenotaTour, Details.class);
      message.putExtras(bundle);
      getContext().startActivity(message);

基本上我需要将我的 Object 传递给 StaggeredPrenotaTour 的当前上下文,这样我就不必创建它的新实例,而是更新当前一个!

不幸的是,我读到你无法从 Intent 中获取 Context,那么如何获取 的工作实例呢? StaggeredPrenotaTourDetails 类中?

最佳答案

so how is another way to get the working instance of StaggeredPrenotaTour inside Details class?

你不知道。

so that I don't have to create a new instance of it but update the contents of the current one!

听起来这两个 Activity 应该共享一个公共(public)数据模型,或许可以通过单例管理器实现。 StaggeredPrenotaTour 可以在其 onResume() 方法中使用修改后的数据,该方法将在 Details 之后作为返回前台的一部分被调用销毁(例如,用户按下 BACK)。

或者,使用事件总线(LocalBroadcastManager、greenrobot 的 EventBus、Square 的 Otto 等)。让 ReservationTask 引发 StaggeredPrenotaTour 订阅的 ReservationResultsEvent,因此 StaggeredPrenotaTour 可以找出工作的结果。

关于java - 从 Intent 获取上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31221657/

相关文章:

android - 如何防止用户同时点击多个按钮?

java - Android SearchView.OnQueryTextListener() 意外启动 Intent

java - 反转数组打印的顺序

java - 从 map 添加到堆栈

android - 在fft中应用窗口功能的正确方法

javascript - Appcelerator 错误 | socket 挂断

Android:将变量传递给已经运行的服务

android - 如何在操作栏 Sherlock 中添加搜索

java - 日志被 AWS Http 调用淹没

java - 添加 spring 组件列表覆盖相同类型的组件