Custom AlertDialog не отображается на Jelly Bean

Я включил пользовательский AlertDialog в свое приложение. После обновления моего Galaxy Nexus до Jelly Bean диалоговое окно больше не отображается. Только экран затемнен. Процессы вокруг диалога (например, загрузка данных) работают отлично. На старых версиях ОС код работал (включая ICS 4.0.4).

Проблема возникает независимо от того, создается и отображается диалоговое окно в AsyncTask или вне его.

Есть ли у кого подобные проблемы?

Вот код:

public class TLProgressDialog extends AlertDialog{

/*Log tag */
@SuppressWarnings("unused")
private static final String TAG = "TLProgressDialog";

@SuppressWarnings("unused")
private Context context;
private AnimationDrawable animation;

protected TLProgressDialog(Context context) {
    super(context);
    this.context = context;
}

public TLProgressDialog(Context context, boolean cancelable,
        OnCancelListener cancelListener) {
    super(context, cancelable, cancelListener);
    this.context = context;
}

public TLProgressDialog(Context context, int theme) {
    super(context, theme);
    this.context = context;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tlprogressdialog);
    ImageView img = (ImageView)findViewById(R.id.dialog_img);
    img.setBackgroundResource(R.drawable.tlprogress_animation);
    animation = (AnimationDrawable) img.getBackground();
    img.post(new Starter());
}

public static TLProgressDialog show(Context context){
    TLProgressDialog dlg = new TLProgressDialog(context);
    dlg.setCanceledOnTouchOutside(false);
    dlg.setCancelable(false);
    dlg.show();
    return dlg;
}

private class Starter implements Runnable {
    public void run() {
        animation.start();
    }
}
}

Макет xml — это всего лишь один объект ImageView, в котором размещено анимированное изображение:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ImageView
    android:id="@+id/dialog_img"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"/>

</RelativeLayout>

person AlexVogel    schedule 24.07.2012    source источник
comment
Моя вина, только что узнал, что я включил GIF для анимации. Кажется, это больше не работает. После преобразования в PNG он снова работает.   -  person AlexVogel    schedule 25.07.2012


Ответы (2)


Вы сняли флажок «Показать уведомление» для своего приложения? (проверьте это в Настройках/приложениях/и "показывать уведомления").

person Patrick    schedule 24.07.2012

Моя вина, только что узнал, что я включил GIF для анимации. Кажется, это больше не работает. После преобразования в PNG он снова работает.

person AlexVogel    schedule 25.07.2012