这可能是一个简单的问题,但我是初学者,我需要你的建议。 我有两个活动A1和A2。当我点击A1屏幕上的图像时,我必须显示进度条,直到A2屏幕出现(A2活动有很多任务要做)。我试过了
image.setOnClickListener(new ImageView.OnClickListener() {
public void onClick(View v)
{
myProgressDialog = ProgressDialog.show(A1.this,
"Please wait...", "Loading...", true);
new Thread() {
public void run() {
try{
Intent i = new Intent(A1.this,.A2.class);
startActivity(i);
} catch (Exception e) { }
// Dismiss the Dialog
myProgressDialog.dismiss();
}
}.start();
}
});
这无法显示进度条。我知道我犯了一个错误,但我想不出来
答案 0 :(得分:2)
最好的办法是在A2活动中显示进度对话框。启动活动后,之前的活动将进入后台,因此无论如何都不会显示进度对话框。
答案 1 :(得分:0)
首先,需要在单独的线程上调用progress对话框。使用AsyncTask<>显示对话框,同时在后台执行某些操作。示例代码可能是这样的
class hello extends AsyncTask<Void,Void,Void>
{
ProgressDialog dialog=null;
Intent i;
@Override
protected void onPreExecute()
{
dialog=ProgressDialog.show(A1.this,"PLEASE WAIT","LOADING CONTENTS ..",true);
}
@Override
protected void onPostExecute(Void result)
{
if(dialog.isShowing())
{
dialog.dismiss();
startActivity(i);
}
}
@Override
protected Void doInBackground(Void... params)
{
i = new Intent(A1.this,.A2.class);
return null;
}