我正在用Java(Android)编程幻灯片。
我有两个活动:
在我的SettingsActivity中,我将更新对象的MillisSecond。 这是我的对象“ Diapo”:
private int __millis = 4000;
public int getMillis() {return __millis;}
public void setMillis(Integer Millis) {
__millis = Millis;
}
如何在第二次活动中更新此对象?
问题是我必须在第二个活动中创建一个新的对象Diapo,并且当我返回第一个活动时,MillisSecond不会更新,因为我创建了一个新对象。如何在第二个活动中导入我的第一个对象并对其进行编辑?
谢谢
答案 0 :(得分:1)
您可以开始第二个活动以获得结果。这样,您可以将数据从第一个活动传递到第二个活动,并根据结果将它们返回到第一个活动。
在MainActivity中:
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, a_unique_integer_code);
在SettingsActivity中:
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
}
}
}
答案 1 :(得分:0)
您可以创建一个全局Diapo类,只需实例化它即可,而不是创建一个新的类。您创建一个静态类,那么它实际上将是一个Singleton。然后,您可以使用Diapo.updateMillis调用这些方法。
请阅读下面C0D3LIC1OU5的评论