Android OnCompletion方法中的进度对话框

Android OnCompletion方法中的进度对话框,android,Android,我有以下代码,其中不显示进度对话框 @Override public void onCompletion(MediaPlayer arg0) { TrackAnalysis a = null; File file = new File(songs.get(index).path); final Track track; try { track = echoNest.uploadTrack(file, true); fi

我有以下代码,其中不显示进度对话框

@Override
    public void onCompletion(MediaPlayer arg0) {

    TrackAnalysis a = null;

    File file = new File(songs.get(index).path);
     final Track track;
    try {
        track = echoNest.uploadTrack(file, true);
        final ProgressDialog dialog2 = ProgressDialog.show(MainGameActivity.this, "Analyzing...", "Please wait...",
                true);
        dialog2.setCancelable(true);
            new Thread(new Runnable(){
                public void run(){
                    try{
                        Thread.sleep(3000);

                    }
                    catch (Exception e){
                        e.printStackTrace();
                    }
                    dialog2.dismiss();
                }
            }).start();

        track.waitForAnalysis(30000);
        a = track.getAnalysis();
        Log.i("TUTAJ", a.getTempo().toString() + track.getArtistName() + track.getTitle());
    } catch (EchoNestException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}
OnCompletion方法来自重载的MediaPlayer.OnCompletionListener


我的问题是为什么进度条不显示?当我将ProgressBar代码放置到onClicked方法时,它工作正常。

在设置onCompletionlistener之前,请检查是否正在调用媒体播放器上的start。
单击方法不要求媒体播放器在其设置之前启动。

您需要在主线程上运行与UI相关的代码。你可以使用或利用。Android开发者网站的API指南部分提供了许多示例。请先看一看。

您是否已调试以确保即将完成?