Java 为什么我的进度条不工作? package com.example.progressdialog; 导入com.example.progressdialog.R; 导入android.os.Bundle; 导入android.app.Activity; 导入android.app.ProgressDialog; 导入android.view.Menu; 导入android.view.view; 公共类MainActivity扩展了活动{ 私人进展对话进展; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); 进度=新建进度对话框(此对话框); } 公共作废打开(视图){ setMessage(“启动这个婴儿!”); progress.setProgressStyle(ProgressDialog.STYLE_水平); 进度。设置不确定(false); progress.show(); 最终整数totalProgressTime=100; 最终螺纹t=新螺纹(){ @凌驾 公开募捐{ int jumpTime=0; while(跳跃时间

Java 为什么我的进度条不工作? package com.example.progressdialog; 导入com.example.progressdialog.R; 导入android.os.Bundle; 导入android.app.Activity; 导入android.app.ProgressDialog; 导入android.view.Menu; 导入android.view.view; 公共类MainActivity扩展了活动{ 私人进展对话进展; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); 进度=新建进度对话框(此对话框); } 公共作废打开(视图){ setMessage(“启动这个婴儿!”); progress.setProgressStyle(ProgressDialog.STYLE_水平); 进度。设置不确定(false); progress.show(); 最终整数totalProgressTime=100; 最终螺纹t=新螺纹(){ @凌驾 公开募捐{ int jumpTime=0; while(跳跃时间,java,android,progress,Java,Android,Progress,我似乎无法让我的进度条真正向前推进。它只是显示一个静态的0/100条。我正试图让它以一种平稳的方式向前推进,大约需要30-45秒才能完成。有人能告诉我我做错了什么吗?我对java非常陌生!谢谢 引文: package com.example.progressdialog; import com.example.progressdialog.R; import android.os.Bundle; import android.app.Activity; import android.app.

我似乎无法让我的进度条真正向前推进。它只是显示一个静态的0/100条。我正试图让它以一种平稳的方式向前推进,大约需要30-45秒才能完成。有人能告诉我我做错了什么吗?我对java非常陌生!谢谢

引文:

package com.example.progressdialog;

import com.example.progressdialog.R;

import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

   private ProgressDialog progress;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      progress = new ProgressDialog(this);
   }


   public void open(View view){
      progress.setMessage("Start This Baby Up!");
      progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
      progress.setIndeterminate(false);
      progress.show();

   final int totalProgressTime = 100;

   final Thread t = new Thread(){

   @Override
   public void run(){

      int jumpTime = 0;
      while(jumpTime < totalProgressTime){
         try {
            sleep(500);
            jumpTime += 1;
            progress.setProgress(0);
         } catch (InterruptedException e) {


           e.printStackTrace();
         }

      }

   }
   };
   t.start();

   }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {

      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }
}
这应该是

progress.setProgress(0);
我想是吧


我还想,这会导致一个问题。您不能从后台线程访问UI组件。您需要使用处理程序。看到这个。

既然你是新来的,请考虑将这个答案设置为解决方案,所以其他社区成员知道,他们不必看这个问题。
progress.setProgress(jumpTime);