ボタンクラスにフラグメントクラスがあります。内容が表示されるテーブルビューを表示する必要があります。表示する内容によって4秒以上の時間がかかります。だから、ボタンのクリック後にprogressDialogを表示し、メソッドの実行後に閉じると思った。ボタンクラスの直後にフラグメントクラスのProgressDialogが表示されない
しかし、テーブルビューが表示された後のように、処理が遅れて表示されています。そのため、進行状況バーの表示に遅延があります。私はたくさんのアプローチをまだ試みていません。
以下は私が試しているコードです。
@Override
public void onClick(final View v) {
switch (v.getId()) {
case R.id.btn_spreadsheetAddTable: {
//Some code
}
break;
case R.id.btn_horizontalAddTable: {
AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
return null;
}
@Override
protected void onPreExecute() {
mProgressDialog = new ProgressDialog(getActivity());
mProgressDialog.setTitle("Processing...");
mProgressDialog.setMessage("Please wait.");
mProgressDialog.setCancelable(false);
mProgressDialog.setIndeterminate(true);
mProgressDialog.show();
displayAddTableView(editIsEnabled);
}
@Override
protected void onPostExecute(Void result) {
if (mProgressDialog!=null) {
mProgressDialog.dismiss();
}
}
};
task.execute((Void[])null);
editIsEnabled = false;
}
private void displayAddTableView(boolean editEnabled) {
//A code to display dynamic table with dynamic data
}
}
私はまた、次のURLを試してきた:
android - Progressbar Late Loading when button click
Loading Dialog, Progress Dialog on Button Click
ProgressDialog doesn't appear immediately
this.Thankあなたに私を助けてください。あなたはそれを表示するために4秒を取っていると言う
ProgressDialog mProgressDialog;
.
.
. //in oncreate
mProgressDialog = new ProgressDialog(getActivity());
mProgressDialog.setTitle("Processing...");
mProgressDialog.setMessage("Please wait.");
mProgressDialog.setCancelable(false);
mProgressDialog.setIndeterminate(true);
.
.
.
protected void onPreExecute() {
mProgressDialog.show();
私はこれを試しても、それでも動作しません。 – reetu
シミュレータまたはデバイスを使用してテストしていますか? –