我有一个称为 MainActivity
的 NavigationDrawerActivity
。我还有另一个活动,该活动是在我的Mainctivity
上的对话框中出现的,称为GuestActivity
。
我有两个用我的MainActivity
打开的片段;HomeFragment
和RegisterFragment
。
我的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
}