存储Intent之间传递的值

时间:2016-05-16 16:41:48

标签: android android-intent

我有一个问题。我想保存在android上的两个活动之间传递的变量。

例如:

我们有A BC个活动,我们假设将变量从活动B传递到A。例如,我们在活动size中有一个名为B的变量,在turn中有一个名为C的变量。

B-> A(获得大小)
C-> A(转弯,但可变尺寸丢失)

...但是当我们转到C时,我需要turn丢失先前在size上执行的B变量。我怎么能存储它们?我试过静态而且它不起作用。

由于

2 个答案:

答案 0 :(得分:0)

您可以通过Singleton对象轻松完成此操作。

Here's示例实现。

答案 1 :(得分:-1)

使用Custom Class实现Serializable for Store Data

public class SomeData implement Serializable {
    public int size;
    public int turn;
}

存储值

SomeData data = new SomeData();
data.turn = 2;
data.size = 4;

Intent i = new Intent(this, SomethingClass.class);
i.putExtra("Data", data);
startActivity(i);

加载值

SomeData data = (SomeData) getIntent.getSerializable("Data");

而不是data.turn =某事,你可以像下面一样使用get / setter方法。

public class SomeData implement Serializable {
    private int size;
    private int turn;

    public int getSize() {
        return size;
    }

    public int getTurn() {
        return turn;
    }

    public void setSize(int size) {
        this.size = size;
    }

    public void setTurn(int turn) {
        this.turn = turn;
    }
}