问题描述
|
这是我的代码
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
}
文档可以在这里找到。和示例可以在这里找到。