Android:ProgressBar不工作

Android:ProgressBar不工作,android,progress-bar,android-mediaplayer,Android,Progress Bar,Android Mediaplayer,我用的是媒体播放器。我想在连接URL和媒体播放器准备就绪时显示进度条,但无法显示 public class MainActivity extends Activity implements OnClickListener, Runnable{ MediaPlayer mPlayer; ProgressBar pBar = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(sa

我用的是媒体播放器。我想在连接URL和媒体播放器准备就绪时显示进度条,但无法显示

public class MainActivity extends Activity implements OnClickListener, Runnable{

MediaPlayer mPlayer;
ProgressBar pBar = null;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Continue();
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
public void Connect()
{           
    try {
        Toast.makeText(getApplicationContext(),"Yayın Açılana Kadar Lütfen Bekleyiniz" , Toast.LENGTH_SHORT).show();
        mPlayer.prepare();
    } catch (IllegalStateException e) {
        Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show();
        e.printStackTrace();
    } catch (IOException e) {
        Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show();
        e.printStackTrace();
    }   

    mPlayer.start();
    pBar.setVisibility(ProgressBar.VISIBLE);
    pBar.setProgress(0);
    pBar.setMax(mPlayer.getDuration());
    new Thread(this).start();
    if(mPlayer!=null)pBar.setVisibility(ProgressBar.GONE);
}
public void Continue()
{
    mPlayer = new MediaPlayer();
    String str = "http:MyURL";
    mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    try {
        mPlayer.setDataSource(str);
    } catch (IllegalArgumentException e) {
        // TODO Auto-generated catch block
        Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show();
        e.printStackTrace();
    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_SHORT).show();
        e.printStackTrace();
    }   
    Connect();
}
public void run() {
    // TODO Auto-generated method stub
    int currentPosition =0;
    int total = mPlayer.getDuration();
    while(mPlayer!=null && currentPosition<total){
        try{
            Thread.sleep(1000);
            currentPosition = mPlayer.getCurrentPosition();
        }catch(InterruptedException e){
            return;
        }catch(Exception e){
            return;
        }
        pBar.setProgress(currentPosition);
        }
    }
}
public类MainActivity扩展活动实现OnClickListener,Runnable{
媒体播放器mPlayer;
ProgressBar pBar=null;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
继续();
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
公共void Connect()
{           
试一试{
Toast.makeText(getApplicationContext(),“Yayın Aılana Kadar Lütfen bekleyinazing”,Toast.LENGTH_SHORT).show();
mPlayer.prepare();
}捕获(非法状态){
Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_SHORT).show();
e、 printStackTrace();
}捕获(IOE异常){
Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_SHORT).show();
e、 printStackTrace();
}   
mPlayer.start();
pBar.setVisibility(ProgressBar.VISIBLE);
pBar.setProgress(0);
setMax(mPlayer.getDuration());
新线程(this.start();
if(mPlayer!=null)pBar.setVisibility(ProgressBar.GONE);
}
公众假期(续)
{
mPlayer=新媒体播放器();
String str=“http:MyURL”;
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
试一试{
mPlayer.setDataSource(str);
}捕获(IllegalArgumentException e){
//TODO自动生成的捕捉块
Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_SHORT).show();
e、 printStackTrace();
}捕获(非法状态){
//TODO自动生成的捕捉块
e、 printStackTrace();
Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_SHORT).show();
}捕获(IOE异常){
//TODO自动生成的捕捉块
Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_SHORT).show();
e、 printStackTrace();
}   
Connect();
}
公开募捐{
//TODO自动生成的方法存根
int currentPosition=0;
int total=mPlayer.getDuration();

当(mPlayer!=null&¤tPosition您在启动线程后立即调用
pBar.setVisibility(ProgressBar.GONE);
。它将立即显示,然后消失。

处理完成后,在run方法中移动它。

我将其删除到run方法end,但它仍然不工作。ProgressBar.show()不存在。我正在使用pBar.setVisibility(ProgressBar.VISIBLE);对不起,是我的错..您在哪里初始化它?为了将来的参考,请尝试对您的问题进行更好的描述。告诉我们您“无法”执行某些操作会让我们不知道问题是什么。黑屏?强制关闭?异常?电话爆炸?请进行说明。