Android冻结进度对话框

问题描述

| 这是我的代码
public void DownloadROM(View view) {
          progressDialog = new ProgressDialog(ROMManager.this);
          progressDialog.setProgressstyle(ProgressDialog.STYLE_SPINNER);
          progressDialog.setMessage(\"Downloading ROM Repository\\nPlease standby\");
          progressDialog.show();
          gotoList(view);
          Log.v(\"ROMManager\",\"Showing download List\");  
  } 

  public void gotoList(final View view){
          Thread background = new Thread(new Runnable(){ 
                  public void run() {
                  Intent i = new Intent(ROMManager.this,DownloadList.class);
                      startActivity(i);
          }
          });
          background.start();
  }
问题是,当我调用DownloadROM时,会出现进度对话框,但Spinner不会移动,这是我的最后一次尝试,以前只有1种方法 谢谢。     

解决方法

        不确定但可能是问题在于启动progressDialog的活动不再位于“ focus”中,而DownloadList活动却在。 也许您可以尝试在DownloadList活动中处理progressDialog。 编辑: 您需要在第二个活动的开始而不是第一个活动的开始显示进度对话框。并且您需要在AsyncTask中完成数据下载工作。 资源     ,        使用一个AsyncTask。
DownloadTask extends AsyncTask<Type,Void,Type>
    @Override
    protected void onPreExecute() {
    dialog = ProgressDialog.show(view.getContext(),\"Loading\",\"Loading\");
    }
    @Override
    protected Type doInBackground(Type... params) {
        //Do something with the data
        return data;
    }

    @Override
    protected void onPostExecute(Type result) {
        dialog.dismiss();
        //Return the data
    }
文档可以在这里找到。和示例可以在这里找到。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...