我希望数据在两个活动之间同步。我在第一个Activity里面有TextView1,在第二个Activity里面有TextView2。第2次活动从1日开始。之后,TextView2中的数据被更改。当我回到第一个Activity时,TextView1中的数据必须与TextView2的数据相同。我试图使用意图,但是不可能因为第一个Activity崩溃,因为它正在等待数据,我想。
第一项活动:
.....
level = getIntent().getExtras().getString("level");
score = getIntent().getExtras().getString("score");
.....
第二项活动:
.....
Intent intent = new Intent(2nd_activity.this, 1st_activity.class);
intent.putExtra("level", Integer.toString(level));
intent.putExtra("score", Integer.toString(score));
.....
我猜你已经弄明白为什么它不起作用了。 我需要做些什么来解决这个问题?
答案 0 :(得分:1)
您可以使用startActivityForResults
打开第二个活动,当第二个活动应该关闭然后您致电:
Intent returnIntent = new Intent();
returnIntent.putExtra("tv_text",tv.getText());
setResult(RESULT_OK,returnIntent);
在活动1中,您将收到onActivityResult
的结果,并使用Intent data
更新活动1中的textview,示例代码来自:
答案 1 :(得分:1)
你必须检查对getIntent()的调用是否不返回null,就像你第一次启动第一个Activity时那样
Intent rcvdIntent = getIntent();
if (rcvdIntent != null) {
level = rcvdIntent.getExtras().getString("level");
score = rcvdIntent.getExtras().getString("score");
}