再次保存List Android中的数据

时间:2015-10-01 12:10:40

标签: android android-listview onitemclick

所以,我有两个活动。在第一个中,我有一个列表,其中我放置了一些数据和一个按钮以进入第二个活动。在第二个中,我有两个EditTexts和一个按钮(保存按钮)。当我在EditTexts中引入一些数据时,我将数据保存在第一个活动(列表)中。当我选择列表中的项目时,我可以转到第二个活动并修改项目的内容。所以,我用引入的数据显示列表,但是我不知道在再次编辑EditTexts后如何保存新数据。我使用onItemClick来选择列表中的项目。我知道我必须将位置和数据传递给第二个活动,我必须在第二个活动中检索,然后我必须再次发送到第一个活动,新数据更改为项目位置。请做这个想法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试getting the result from an activity

总结文章:

static final int REQUEST_CODE = 1;  // The request code
...
private void itemClicked() {
    Intent intent = new Intent(this, SecondActivity.class);
    // Add any data that you wish to send
    intent.putExtra("DATA", "value");
    startActivityForResult(pickContactIntent, REQUEST_CODE);
}

在第二项活动中,接收您要修改的数据:

String valueToChange = getIntent()。getExtras()。getString(“DATA”);

然后将其放入“编辑”文本或任何您想要使用的内容中,完成后将其设置为结果包。

// Create the result Intent
Intent intent = new Intent();
intent.putExtra("RESULT", "YourNewString");
setResult(Activity.RESULT_OK, intent);
finish();

在您的第一个活动中,覆盖onActivityResult以获取值。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check which request it is that we're responding to
    if (requestCode == REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
             String newString = data.getExtras().getString("RESULT");
         }
    }
}

您可能还希望通过数组中的项目位置发送,以便您可以更新它。

答案 1 :(得分:0)

尝试使用BroadCastReceiver发送更新的内容返回Activity-A并在设置相关内容后通知您Listview