我试图围绕正确的活动流程约定。
我目前有:
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
//do stuff
//clicklisteners setup etc
Intent intent = new Intent(this, ExampleActivity.class);
//putExtras
startActivity(intent);
}
}
public class ExampleActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
//getExtras
//objectA state lives here
//do stuff
}
}
如果用户在ExampleActivity视图上按下,然后单击另一个将它们带到ExampleActivity的侦听器,我希望能够再次访问“objectA”状态。我该如何实现?我不理解onResume或onRestart ......
这些是要打电话的方法吗?或者是否有更好的惯例来浏览应用程序活动?
答案 0 :(得分:1)
Android有一种机制,可以将活动结果传回给之前启动它的活动。该文档是here。
基本上,您使用startActivityForResult开始第二项活动,第二项活动使用setResult来设置结果,第一项活动在第二项活动的onActivityResult回调中收到这些结果饰面。
答案 1 :(得分:0)
如果用户在ExampleActivity视图上按下,则ExampleActivity已死,用户返回MainActivity,后者调用“onResume”。 当您从activity1返回到activity2时,将调用activity2的onResume方法。 话虽如此,在用户关闭后,ExampleActivity对象A被销毁。