Какую версию API вы используете? Если я прав в том, в чем проблема, то это было исправлено в Android 1.6 (версия API 4).
Похоже на ссылку на объект, которую getApplicationContext()
возвращает только точки, равные нулю. Я думаю, что у вас возникла проблема, похожая на ту, которая была у меня в том, что часть кода в onCreate()
запускается до того, как окно действительно будет построено. Это будет взломом, но попробуйте запустить новый поток за несколько сотен миллисекунд (IIRC: 300-400, кажется, мне подходит, но вам нужно будет повозиться), который открывает ваш ProgressDialog и запускает все, что вам нужно например, сеть IO). Как то так:
@Override
public void onCreate(Bundle savedInstanceState) {
// do all your other stuff here
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mProgressDialog = ProgressDialog.show(
YouTube.this.getApplicationContext(), "",
YouTube.this.getString(R.string.loading), true);
// start time consuming background process here
}
}, 1000); // starting it in 1 second
}