Android-当某个操作由另一个线程完成时显示进度条

Android-当某个操作由另一个线程完成时显示进度条,android,android-asynctask,progressdialog,Android,Android Asynctask,Progressdialog,如何阻止UI线程执行任何操作,并在满足特定条件之前仅显示进度条。 例如,我有一个初始化为null的列表,我们称它为list。我在UI中启动另一个线程来初始化它的值,这大约需要10秒。如何在列表初始化之前阻止UI线程显示进度对话框 // Initially List list = null; // Display progress bar until certain condition is met while(list == null){ // Display progress dia

如何阻止UI线程执行任何操作,并在满足特定条件之前仅显示进度条。 例如,我有一个初始化为null的列表,我们称它为list。我在UI中启动另一个线程来初始化它的值,这大约需要10秒。如何在列表初始化之前阻止UI线程显示进度对话框

// Initially
List list = null;

// Display progress bar until certain condition is met
while(list == null){
    // Display progress dialog
}

我认为AsyncTask可以工作,如果我们要求AsyncTask更新列表等等,那么另一个线程如何做呢。我试图简化这个问题。

您需要在mainActivity中创建一个公共方法,以examble yourcallback()命名

您可以实例化回调方法中progressbar所需的所有对象,而不是实例化OnCreate mainActivity中的所有对象 yourcallback()

你的回电 现在需要创建AsyncTask的扩展,在其中声明一个基本方法构造函数 像这样

     privte Activity mainObj;
     public TestAsyncTask(Context context, Activity mainact ) throws Exception {
       mainObj=mainact
       your code 
     }
当任务自然终止类AsyncTask调用onPostExecute方法时

     protected void onPostExecute(Long result) {
        mainObj.yourcallback();
  }
希望这有帮助