我已经为我的应用程序开发了一个密码片段,每当用户切换到另一个应用程序或(在创建密码时)调用该应用程序时,都需要调用该密码片段。 使用此功能研究一些应用程序时,我注意到其中一些应用程序调用锁定屏幕片段很慢,或者在锁定屏幕片段之前调用了先前的片段。其中一些非常快,可以快速准确地传送碎片。正确地说,我的意思是先前的片段没有显示在锁片段之前。
如何在应用程序中调用锁屏片段?在回调里面?谁必须采取这种控制,以前的片段或活动?
答案 0 :(得分:0)
在对Activity回调进行研究后,我解决了这个问题: 在activity中创建一个私有布尔变量loginNow并赋值false; 当调用onStop时,我赋予它真实性。为了保证我在onRestart上做了同样的事情:
@Override
public void onRestart(){
super.onRestart();
loginNow = true;
}
@Override
public void onStop(){
super.onStop();
loginNow = true;
}
当调用onStart时,我验证了这个布尔值并用我的登录片段替换旧片段:
@Override
public void onStart() {
if( loginNow ){
getSupportFragmentManager().beginTransaction().replace( R.id.fragment_container, fragment )
.addToBackStack( null ).commit();
}
...
}