从碎片开始活动



我有一个称为 MainActivityNavigationDrawerActivity。我还有另一个活动,该活动是在我的Mainctivity上的对话框中出现的,称为GuestActivity

我有两个用我的MainActivity打开的片段;HomeFragmentRegisterFragment

我的GuestActivity中有一个按钮,现在单击该按钮时,我希望GuestActivity关闭,然后加载RegisterFragment打开我的MainActivity

有办法做到这一点吗?我可以看看一个例子吗?

您必须使用startActivityForResult启动GuestActivity。这样,您可以通过单击按钮设置结果,并相应地更改MainActivity中的片段,而无需再次开始主动。

在您的主动脉中,更改为:

    startActivityForResult(guestIntent, 1337);

并覆盖OnActivityResult:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Check which request we're responding to
if (requestCode == 1337) {
    // Make sure the request was successful
    if (resultCode == RESULT_OK) {

        // Change framgnet
    }
}
}

在"访客"按钮的OnClickListener中添加:

setResult(Activity.RESULT_OK);
GuestActivity.this.finish(();

按下按钮时,请致电下面:

Intent intent = new Intent(this, MainActivity.class);
intent.putExtra("start_register_fragment", true);
startActivity(intent);
finish();

现在以主进性发作方法检查

if(getIntent.getExtras.getBoolean("start_register_fragment")) {
//call to register fragment here
}

最新更新