1

我使用以下代码显示油炸面包丁。首次运行应用程序时,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 中显示油煎面包块似乎没有任何效果。

4

1 回答 1

1

通过保持对显示的面包块的引用并在 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();

使用适合您的需求。

于 2014-09-06T15:53:05.490 回答