Android中的无限Crouton问题只出现一次

时间:2014-09-02 10:22:56

标签: android crouton

我使用以下代码显示了烤面包片。在应用程序的第一次运行时,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中显示crouton似乎没有任何效果。

1 个答案:

答案 0 :(得分: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();

使用适合您需求的产品。