【问题标题】:How to pass object from one activity to another activity without using Intent如何在不使用 Intent 的情况下将对象从一个活动传递到另一个活动
【发布时间】:2014-12-03 10:12:43
【问题描述】:

我是开发 Android 的新手。我有一个问题。如何在不使用 Intent 的情况下将对象从一个活动传递到另一个活动。我可以通过接口来实现吗,如果可以的话,请问我该如何处理

【问题讨论】:

  • 最大的问题:为什么不使用 Intent? “通过”表示一项活动开始另一项活动。那么为什么不使用你必须创建的意图来启动第二个活动呢?
  • 为什么不在意图上使用 putExtra? :O
  • 我的主要目的是 stackoverflow.com/questions/27173535/… 我有 3 个活动,MainActivity,ShowDetailAcivity,EditDetailAcivity MainActivity 有 listview,当我单击 listview 上的项目时,ShowDetailAcivity 被启动。在 ShowDetailAcivity 上可见的组件是 false。它是只是为了查看。然后我单击 ShowDetailAcivity 上的选项菜单项(编辑),启动 EditDetailAcivity 并且用户可以更改 Course 对象的值。之后对象的更新值将转移到 Listview 到 MainAcivity。我只有 MainAcivity 上的 ArrayList

标签: android android-activity interface


【解决方案1】:

我认为你有两个选择

  1. 在内存中,将其保存到所有活动都可以到达的地方,或使其成为静态。不过这不是个好主意
  2. 将其保存到磁盘并使用它,例如共享首选项

【讨论】:

    【解决方案2】:
    • 您可以将其存储在 SharedPreferences 中,然后存储在另一个 Activity 中 恢复它。
    • 您可以将其存储在 SQLite 中,然后在另一个 Activity 中恢复它。
    • 您可以使用静态链接
    • 您可以使用服务

    【讨论】:

      【解决方案3】:

      将数据保存在单例类模型中并从另一个活动中获取相同的对象 像这样创建一个类

       public class SingletonModel {
           private static SingletonModel instance;
           public String textData = ""
      
      
           public synchronized  static SingletonModel getSingletonModel() {
      
               if (instance == null) {
                   instance = new SingletonModel();
               }
               return instance;
      
           }
      
       private void SingletonModel(){}
      
       }
      

      从第一个活动开始这样做

      SingletonModel.getSingletonModel().textData ="Your data goes here";
      

      从第二个活动开始这样做

       textView.setText(SingletonModel.getSingletonModel().textData);
      

      【讨论】:

      • 还有textData是私有的,不能通过.操作符访问
      【解决方案4】:

      如果数据应该保留,请使用文件。如果没有,请使用单例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-16
        • 2013-01-12
        • 1970-01-01
        • 1970-01-01
        • 2011-01-28
        • 1970-01-01
        • 1970-01-01
        • 2011-02-13
        相关资源
        最近更新 更多