新しい活動を開始すると、私のprogressDialogがすぐに表示されません。私はAsyncTaskを同じものに使用しています。私は次のアクティビティでWebサービスからデータをロードしています。進行状況ダイアログがすぐに表示されない
ourdepbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new TheTask(AboutUs.this.getParent()).execute();
}
});
任意の提案:私はこのクラスのボタンのonClickのインスタンスを作成してい
private class TheTask extends AsyncTask<Void, Void, Void>{
Context con;
Intent aboutusIntent;
TabGroupActivity parentActivity;
private TheTask(Context context)
{
this.con=context;
}
@Override
protected void onPreExecute() {
progDialog = ProgressDialog.show(con, "Loading... ",
"please wait....", true);
}
@Override
protected Void doInBackground(Void... params) {
aboutusIntent = new Intent(con, Departments.class);
parentActivity = (TabGroupActivity)getParent();
//progDialog.show();
return null;
}
@Override
protected void onPostExecute(Void result) {
parentActivity.startChildActivity("Departments", aboutusIntent);
if(progDialog.isShowing())
{
progDialog.dismiss();
}
}
}
:以下は、私の非同期クラスですか?
ありがとうJavanator.Iこれを試してみましょう。 – Nitish
このアプリケーションではタブグループを使用しています。これはこれと何か関係がありますか?なぜなら私がdoInBackground()にstartActivityを置くと、progressDialogが現れますが、宣言がクラッシュするからです。私はFutureTaskErrorに遭遇する。 – Nitish
このことはタブグループとは関係ありません。すべてのビジュアルエフェクトはメインスレッドのみで制御されます。単一のスレッドはフェッチを行うことも、ダイアログ内の進行を表示することもできます。ハンドラクラスは基本的にこれに使用されます。私が貼り付けたコードはすべて私のプロジェクトで使用しており、ダイアログを使用してフェッチの進行状況を表示するのに最適です。メインスレッド以外のスレッドがビジュアルエフェクトを実装しようとする場合これは例外でアプリをクラッシュさせます – Javanator