У меня проблемы с добавлением диалога прогресса в кнопке - PullRequest
0 голосов
/ 12 марта 2019

Вот проблема, приведенный ниже код не открывает диалоговое окно, но если я удаляю строку progressDialog.dissmiss(), она открывается, но не закрывается, в чем я ошибся?

public void onClick(View v) {
 progressDialog = new ProgressDialog(MainActivity.this);
 progressDialog.setTitle(R.string.loading);
 progressDialog.show();
 if (mycontrol == true) {
  imgview.invalidate();
  BitmapDrawable drawable = (BitmapDrawable) imgview.getDrawable();
  Bitmap bitmap = drawable.getBitmap();
  imgview2.setVisibility(View.VISIBLE);
  imageprocessing = new ImageProcessing();
  imgview2.setImageBitmap(imageprocessing.choseeProcces(no, bitmap));
 } else
  Toast.makeText(getBaseContext(), R.string.selectImage, Toast.LENGTH_SHORT).show();
 progressDialog.dismiss();
}

1 Ответ

0 голосов
/ 12 марта 2019

ProgressDialog показывается, а затем немедленно удаляется.

Что вам нужно сделать, это создать progressDialog в начале вашего оператора if и вызвать progressDialog.dismiss() в качестве последней строки вваше if заявление.Как правило, индикаторы выполнения или диалоговые окна должны создаваться непосредственно перед запуском длительной или фоновой задачи (например, сетевого вызова) и закрываться только после завершения задачи.

public void onClick(View v) {
    if (mycontrol == true) {
        // Create the progress dialog
        progressDialog = new ProgressDialog(MainActivity.this);
        progressDialog.setTitle(R.string.loading);
        progressDialog.show();

        // Perform a long running task
        imgview.invalidate();
        BitmapDrawable drawable = (BitmapDrawable) imgview.getDrawable();
        Bitmap bitmap = drawable.getBitmap();
        imgview2.setVisibility(View.VISIBLE);
        imageprocessing = new ImageProcessing();
        imgview2.setImageBitmap(imageprocessing.choseeProcces(no, bitmap));

        // Dismiss the progress dialog
        progressDialog.dismiss();
    } else {
        Toast.makeText(getBaseContext(), R.string.selectImage, Toast.LENGTH_SHORT).show();
    }
}
...