Android - 意图新活动更新主要活动而不复制

时间:2014-04-05 18:37:21

标签: android android-intent android-activity

首先,我搜索了很多,但我不知道我做错了什么!。

我有MainActivity,它有一个Listview和添加按钮,a按钮带你进入addnewActivity,你可以在MainActivity中输入新项目到listview,然后转回去。

现在,问题是,每次我添加新项目时,我都会在MainActivity的新实例中获取新内容,而不包含之前打开的更新! (第一个新项目在第二次添加新项目时不可见,每个项目都在不同的项目中!)。

我需要的是,每次添加一个MainActivity,所以没有复制(从它返回应该关闭应用程序),数据总是从旧版本移动到最新版本。

  • 我使用startActivity(intent);他们之间更多
  • 使用addnewActivity中的后退按钮应该返回到最新的MainActivity。

我相信这是应用程序的正常行为! 感谢

更新

我添加新项目按钮

private void additembutt() {
Intent intent = new Intent(this, add.class);
int idx = Items.size(); //this is the List<items> (to get the the last postion)
intent.putExtra(ID_X, idx); //newPosition

startActivity(intent);
//startActivityForResult(intent, 1); //not using this anymore, didnt work
//finish();
}

和add.class

Intent intent = getIntent();

idx = intent.getIntExtra(MainActivity.ID_X, -1); //take the id

Intent intentback = new Intent(add.this, MainActivity.class);

//read the user inputs and put them in msges like this as well
intentback.putExtra(ID_X, msg_idx); //Position
intentback.putExtra(ID_MESSAGE, msg_name);

startActivity(intentback);
finish();

2 个答案:

答案 0 :(得分:0)

您应该使用startActivity(mainIntent)

,而不是使用startActivityForResult()

从另一个SO question

引用

答案 1 :(得分:0)

尝试删除

startActivity(intentback);

看看你是否得到了理想的结果。有关详细信息refere to this