要保持DialogFragment在所有活动的前面,即使在显示DialogFragment后创建的活动时,可以使用以下解决方法:
public class BaseActivity extends AppCompatActivity {
public static Activity currentActivity;
@Override
protected void onResume() {
super.onResume();
currentActivity = this;
}
}
public class MainActivity extends BaseActivity {
// ...
}
public class MyDialogFragment extends DialogFragment {
// ...
@Override
public void onResume() {
super.onResume();
BaseActivity.currentActivity = getActivity();
}
}
FragmentManager fragmentManager = BaseActivity.currentActivity.getSupportFragmentManager();
MyDialogFragment dialogFragment = new MyDialogFragment();
dialogFragment.show(fragmentManager, "dialog_fragment");
通过这种方式,可以保证DialogFragment始终在所有活动的前面,即使在显示DialogFragment后创建的活动也是如此。
上一篇:保持登录,使用Next 13