首页 > 解决方案 > 如何从另一个活动刷新片段?

问题描述

我的问题是:

我有 3 节课:

MainActivity,它的内容ContactFragment。从MainActivity, 我点击Add ButtonAddNewContactActivity

我想当我点击Save ButtonAddNewContactActivity返回时,MainActivity我必须更新ContactFragmentnew data

我怎样才能做到这一点?非常感谢

标签: androidandroid-fragmentsrefresh

解决方案


使用startActivityForResult.

private static int final ADD_CONTACT_CODE = 1;

// MainActivity
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == ADD_CONTACT_CODE && resultCode == RESULT_OK) {
            // data is the contactIntent you set in AddNewContactActivity
            // update your fragment here with that data
        }

    }

// addContactButton in MainActivity
onClick {
    startActivityForResult(addNewContactIntent, ADD_CONTACT_CODE);
}

// AddNewContactActivity
// call this when you're finish adding contact
void finishAddContact() {
    Intent contactIntent = Intent();

    // add your added contact here
    contactIntent.putExtra("added contact", addedContact)

    setResult(RESULT_OK, contactIntent);
    finishActivity(ADD_CONTACT_CODE); // this will close this activity returning to the MainActivity and calling its onActivityResult
}


推荐阅读