グローバルAsyncTaskクラスに進行状況ダイアログボックスが表示されない

アヌジ・ズンジャラオ

これは私のMainActivityです...ボタンを1つ入れ、ボタンonclickにasyncTaskを呼び出します

package com.example.asnytaskpro;

import java.util.concurrent.ExecutionException;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class AsyncMainActivity extends Activity implements OnClickListener {

Button button ; 
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_async);

    button = (Button) findViewById(R.id.button1);
    button.setOnClickListener(this);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_async, menu);
    return true;
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    System.err.println("1");
    try {
        new AllPrinterClass(AsyncMainActivity.this, "123456789123456789", "123").execute().get();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ExecutionException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    };
}

}

これは私のAsyncTaskClassです

import java.text.SimpleDateFormat;
import java.util.Calendar;

import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.SystemClock;
import android.widget.Toast;

public class AllPrinterClass extends AsyncTask<Integer, Integer, Integer>{

public static String ServerData = "";
private ProgressDialog prgDialog;
private Context context;
String TransNo = "" ,IMEINo = "";

int iRetValue = 0;

String  CurrentDate = null, CurrentTime= null;
SimpleDateFormat df,tf;


public AllPrinterClass(Context context1, String imeiNo,String transno2) 
{
        this.context        = context1;
        this.IMEINo         = imeiNo;
        this.TransNo        = transno2;

        Calendar c = Calendar.getInstance();
        df = new SimpleDateFormat("dd/M/yyyy");
        CurrentDate = df.format(c.getTime());
        tf = new SimpleDateFormat("hh:mm:ss");
        CurrentTime = tf.format(c.getTime());

        System.err.println(CurrentDate);
        System.err.println(CurrentTime);


}

@Override
protected void onPreExecute() {
    super.onPreExecute();
    this.prgDialog = new ProgressDialog(context);
    this.prgDialog.setMessage("Place your finger on FPS ...");
    this.prgDialog.setIndeterminate(true);
    this.prgDialog.setCancelable(false);
    this.prgDialog.show();

}

@Override
protected Integer doInBackground(Integer... params) {

//////////////////Doing my Code///////////////////

    for (int i = 0; i < 10; i++) {
        System.err.println("i :-" + i);
        SystemClock.sleep(500);
    }
/////////////////////////////////////////////////////

    return iRetValue;
}

@Override
protected void onPostExecute(Integer result) {
    // TODO Auto-generated method stub
    super.onPostExecute(result);
    prgDialog.dismiss();
    Toast.makeText(context, "Done", Toast.LENGTH_SHORT).show();

}

}

このコードは機能しますが、ProgressDialogが表示されません(バックグラウンドで実行される可能性があります)。

私はprgDialog.dismiss();を削除します。onPostExecute()メソッドで、doInBackground()メソッドの後にダイアログが表示されます。

onPreExecute()メソッドでダイアログを表示し、onPostExecute()メソッドで閉じます。

ρяσѕρєяK

ここに:

...execute().get();

getメソッドを呼び出すと、doInBackground実行が完了しなくなるまでメインUIスレッドがブロックされます。そのため、表示されProgressDialogていません。

メソッドの実行中に進行状況ダイアログを表示するexecute()メソッドのみを使用して開始AsyncTaskしますdoInBackground

    new AllPrinterClass(AsyncMainActivity.this,
                     "123456789123456789", "123").execute();

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

進行状況ダイアログがAsyncTaskに表示されない

分類Dev

AsyncTaskを使用してバックグラウンドサービス内にAndroidの進行状況ダイアログを追加し、致命的な例外を取得する

分類Dev

Android - AsyncTask が完了していない場合にのみ、ボタンのクリック時に進行状況ダイアログを表示する

分類Dev

進行状況ダイアログがプレロリポップデバイスで奇妙に表示される

分類Dev

進行状況ダイアログが表示されない

分類Dev

高度なインストーラー:インストールの進行状況ダイアログの背後にあるカスタムロジック(ProgressDlg)

分類Dev

フラッター:進行状況ダイアログが非表示になっていない

分類Dev

デバイスがメモリクリーニングを実行しているときに進行状況ダイアログが回転しない

分類Dev

Primefacesダイアログのスクロールバーがヘッダーの下に表示されない

分類Dev

非同期メソッドの.Show()に進行状況ダイアログが表示されない

分類Dev

Androidでコンテキストを使用して進行状況ダイアログが表示されない

分類Dev

ブートストラッププログレスバーに進行状況が表示されませんか?

分類Dev

DWTJavaスクリプトライブラリの進行状況ダイアログがAngular5で自動的に表示されます

分類Dev

ダイアログボックスが表示されないRequestPermissions

分類Dev

Android:進行状況ダイアログに黒い画面が表示される

分類Dev

ASP.NETWebにモーダルダイアログボックスが表示されない

分類Dev

進行状況ダイアログとバックグラウンドスレッドがアクティブなときに画面の向きの変更を処理するにはどうすればよいですか?

分類Dev

アラートダイアログボックスがクリックしても表示されない

分類Dev

そのボタンをクリックするとボタンがあります進行状況ダイアログを2秒間だけ表示したいのですが、2秒後に進行状況ダイアログを閉じる方法

分類Dev

Xamarinの進行状況ダイアログが期待どおりに表示されない

分類Dev

画像の読み込み中に進行状況ダイアログが表示されない

分類Dev

進行状況ダイアログがフラグメント遷移でスタックする

分類Dev

初回クリック時にファイルアップロードダイアログボックスが表示されない

分類Dev

ダイアログボックスにリストビューが表示されない

分類Dev

saveasダイアログボックスに初期ファイル名が表示されない

分類Dev

進行状況ダイアログがAndroidStudioに表示され続ける

分類Dev

進行状況ダイアログ-AsyncTask

分類Dev

WPFアプリケーションの無期限の進行状況バーは表示されませんが、プロセスはバックグラウンドで実行されています

分類Dev

ProgressSpinnerが進行中のダイアログ/プログレスバーに表示されない

Related 関連記事

  1. 1

    進行状況ダイアログがAsyncTaskに表示されない

  2. 2

    AsyncTaskを使用してバックグラウンドサービス内にAndroidの進行状況ダイアログを追加し、致命的な例外を取得する

  3. 3

    Android - AsyncTask が完了していない場合にのみ、ボタンのクリック時に進行状況ダイアログを表示する

  4. 4

    進行状況ダイアログがプレロリポップデバイスで奇妙に表示される

  5. 5

    進行状況ダイアログが表示されない

  6. 6

    高度なインストーラー:インストールの進行状況ダイアログの背後にあるカスタムロジック(ProgressDlg)

  7. 7

    フラッター:進行状況ダイアログが非表示になっていない

  8. 8

    デバイスがメモリクリーニングを実行しているときに進行状況ダイアログが回転しない

  9. 9

    Primefacesダイアログのスクロールバーがヘッダーの下に表示されない

  10. 10

    非同期メソッドの.Show()に進行状況ダイアログが表示されない

  11. 11

    Androidでコンテキストを使用して進行状況ダイアログが表示されない

  12. 12

    ブートストラッププログレスバーに進行状況が表示されませんか?

  13. 13

    DWTJavaスクリプトライブラリの進行状況ダイアログがAngular5で自動的に表示されます

  14. 14

    ダイアログボックスが表示されないRequestPermissions

  15. 15

    Android:進行状況ダイアログに黒い画面が表示される

  16. 16

    ASP.NETWebにモーダルダイアログボックスが表示されない

  17. 17

    進行状況ダイアログとバックグラウンドスレッドがアクティブなときに画面の向きの変更を処理するにはどうすればよいですか?

  18. 18

    アラートダイアログボックスがクリックしても表示されない

  19. 19

    そのボタンをクリックするとボタンがあります進行状況ダイアログを2秒間だけ表示したいのですが、2秒後に進行状況ダイアログを閉じる方法

  20. 20

    Xamarinの進行状況ダイアログが期待どおりに表示されない

  21. 21

    画像の読み込み中に進行状況ダイアログが表示されない

  22. 22

    進行状況ダイアログがフラグメント遷移でスタックする

  23. 23

    初回クリック時にファイルアップロードダイアログボックスが表示されない

  24. 24

    ダイアログボックスにリストビューが表示されない

  25. 25

    saveasダイアログボックスに初期ファイル名が表示されない

  26. 26

    進行状況ダイアログがAndroidStudioに表示され続ける

  27. 27

    進行状況ダイアログ-AsyncTask

  28. 28

    WPFアプリケーションの無期限の進行状況バーは表示されませんが、プロセスはバックグラウンドで実行されています

  29. 29

    ProgressSpinnerが進行中のダイアログ/プログレスバーに表示されない

ホットタグ

アーカイブ