首页 > 解决方案 > 如何在其他活动中编辑相同的对象

问题描述

我正在用 Java (Android) 编写幻灯片。

我有两个活动:

在我的 SettingsActivity 中,我将更新我的对象的 MillisSecond。这是我的对象'Diapo':

private int __millis = 4000;


public int getMillis() {return __millis;}

public void setMillis(Integer Millis) {
    __millis = Millis;
}

如何在我的第二个活动中更新此对象?

问题是我必须在我的第二个活动中创建一个新对象 Diapo,当我回到我的第一个活动时,MillisSecond 没有更新,因为我创建了一个新对象。如何在我的第二个活动中导入我的第一个对象并对其进行编辑?

谢谢

标签: javaandroid

解决方案


您可以开始第二个活动以获得结果。这样,您可以将数据从第一个活动传递到第二个活动,并根据结果将它们返回给第一个活动。

在 MainActivity 中:

Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, a_unique_integer_code);

在设置活动中:

Intent returnIntent = new Intent();
returnIntent.putExtra("millisSecond",millisSecond);
setResult(Activity.RESULT_OK,returnIntent);
finish();

在您的 MainActivity 中:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == a_unique_integer_code) {
        if(resultCode == Activity.RESULT_OK){
            millisSecond = data.getInt("millisSecond");
        }
        if (resultCode == Activity.RESULT_CANCELED) {
           //if there exists an event where the variable is not set you can do something about it here
        }
    }
}

推荐阅读