我使用以下代码显示了面包块。在应用程序的第一次运行时,Crouton出现了。但若我点击返回按钮并从启动器或最近的列表重新打开应用程序,Crouton就不会出现。
公共类MainActivity扩展ActionBarActivity{
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onResume() { super.onResume(); Style infinite = new Style.Builder().setBackgroundColorValue( Style.holoBlueLight).build(); Configuration configuration = new Configuration.Builder().setDuration( Configuration.DURATION_INFINITE).build(); Crouton crouton = Crouton.makeText(this, "Hello world", infinite); crouton.setConfiguration(configuration); crouton.show(); }
}
在onCreate或onResume中显示面包块似乎没有任何效果。
我可以通过保持对显示的面包块的引用并在onPause中取消面包块来使其按预期工作。
public class MainActivity extends Activity {
private Crouton mCrouton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
}
@Override
protected void onResume() {
super.onResume();
Style infinite = new Style.Builder().setBackgroundColorValue(
Style.holoBlueLight).build();
Configuration configuration = new Configuration.Builder().setDuration(
Configuration.DURATION_INFINITE).build();
mCrouton = Crouton.makeText(this, "Hello world", infinite);
mCrouton.setConfiguration(configuration);
mCrouton.show();
}
@Override
protected void onPause() {
super.onPause();
mCrouton.cancel();
}
}
还有其他方法可以解决这个问题。
Crouton.clearCroutonsForActivity(this);
Crouton.cancelAllCroutons();
使用适合您需求的产品。