油煎面包块不时显示

Mar*_*Bro 5 android android-fragments crouton

我的应用程序中有官方导航抽屉.单击抽屉中的项目会在屏幕的内容部分中打开新的片段.每个片段包含FrameLayout相同的id,用于显示Crouton.

基本用法是当用户单击Action Bar中的刷新按钮时显示无限的Crouton(通知正在进行的刷新).刷新完成后,会显示另一个烤面包片(替换旧的烤面包片).在某些情况下,即使在输入屏幕后也会显示Croutons(并在触发刷新时替换).

我遇到的问题有点难以描述.有些面包丁不时不显示.(初始Crouton未示出或当我按下刷新按钮的第一次在该屏幕上未示出的Crouton -然而,它通常当我屏幕间切换发生显示时刷新结束,当我之后按下刷新按钮) .

所以这是非常不可预测的.甚至有些情况下,当我切换到另一个屏幕并返回时,屏幕根本不显示Crouton.

为了显示Croutons,我在每个Framgnet的布局中使用它:

<FrameLayout
    android:id="@+id/crouton_view"
    android:layout_width="match_parent"
    android:layout_height="@dimen/crouton_height"
    android:layout_alignParentTop="true" />
Run Code Online (Sandbox Code Playgroud)

在代码中我有CroutonBuilder类,有以下方法:

public static Crouton getNewLastUpdateCrouton(Activity activity, boolean infinite, String plateNumber) {
    String lastUpdateString = ...;
    Crouton newCrouton = Crouton.makeText(activity, lastUpdateString, CroutonBuilder.getLastUpdate(activity),
                                    R.id.crouton_view);
    if (infinite) {
        newCrouton.setConfiguration(new Configuration.Builder().setDuration(
                                        Configuration.DURATION_INFINITE).build());
    }
    return newCrouton;
}
Run Code Online (Sandbox Code Playgroud)

然后只需要调用.show()返回的Crouton.当我调试并逐步执行时,show()调用该方法,但有时只显示任何内容.

你有什么想法我做错了吗?

Mar*_*Bro 9

我发现当我离开片段而Crouton目前被展示时,Croutons停止出现了.调用Crouton.cancelAllCroutons()onPause()帮助.