2014-12-03 104 views
-1

我是开发Android的新手。我有一个问题。如何将对象从一个活动传递到另一个活动而不使用Intent.Can我可以通过Interface实现,如果是这样的话如何才能请我怎么办?如何在不使用意图的情况下将对象从一项活动传递给另一项活动

+0

最大的问题:为什么不使用意图? “通行证”表明一项活动从另一项开始。那么为什么不使用你必须创建的意图来开始第二个活动呢? – WarrenFaith 2014-12-03 10:19:35

+0

为什么不在意图上使用putExtra? :O – cgew85 2014-12-03 10:21:56

+0

我的主要目的是,http://stackoverflow.com/questions/27173535/android-listview-item-edit-operation – 2014-12-03 10:27:02

回答

1

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

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); 
+0

您的单例不是线程安全的。 .. – WarrenFaith 2014-12-03 10:22:44

+0

也textData是私人的,不能通过'.'运营商 – Blackbelt 2014-12-03 10:25:13

+0

编辑完成谢谢。 – Nitesh 2014-12-03 10:27:34

2

我觉得你有2个选项

  1. 在内存中,将其保存到某个地方,所有的活动可以达到,或使其静态的。这不是好主意,但
  2. 它保存到磁盘,并使用它,比如共享偏好
2
  • 您可以将其存储在SharedPreferences然后在另一个活动 恢复。
  • 你可以将它存储在SQLite中,然后在另一个Activity中恢复它。
  • 您可以使用静态链接
  • 您可以使用服务
1

如果数据应该仍然存在,使用的文件。如果没有,请使用单例。

相关问题