@Comatu

Как реализовать ProgressDialog?

Не могу никак вызвать диалог во время загрузки файлов. Код написал по примерам, вроде бы - все учел. Но диалог просто не появляется, ошибок нет. Подозрение, что не успевает просто отрисоваться за 1-2 секунды загрузки при хорошем интернете. Не могу найти плохой интернет :)

Вот код, прошу учесть, что ProgressDialog объявлен раньше в активити, здесь привожу только сам метод:
private void DownloadFilesBook(String[] urlsFiles) {
        final Fetch mFetch = Fetch.newInstance(this);
        String folderB = "bookfiles_" + bookId;
        String fileNameForWrite = "book_" + bookId + ".json";

        mFetch.addFetchListener(new FetchListener() {
            @Override
            public void onUpdate(long id, int status, int progress, long downloadedBytes, long fileSize, int error) {

                if(id == downloadId) {

                    switch (status) {

                        case Fetch.STATUS_DOWNLOADING: {
                            mProgressDialog = new ProgressDialog(getApplicationContext());
                            mProgressDialog.setMessage("Идет загрузка...");

                        }
                        case Fetch.STATUS_ERROR: {
                            //Check error and take action. Retry?fetch.retry(downloadId);
                            break;
                        }
                        default:
                            //general action
                    }

                }
            }
        });

        File bookfolder = new File(String.valueOf(getExternalFilesDir(folderB)));
        List<Request> requestListPages = new ArrayList<>();
        ArrayList<String> pagesFiles = new ArrayList<>();

        for (int i = 0; i < urlsFiles.length; i++) {
            String url = urlsFiles[i];
            String path = String.valueOf(bookfolder);
            String fileName = Uri.parse(url).getLastPathSegment();
            Log.d("my2", fileName);
            Request request = new Request(url, path, fileName);
            requestListPages.add(request);
            String pageFilePath = path + "/" + fileName;
            Log.d("my2", pageFilePath);
            pagesFiles.add(pageFilePath);
        }

        mFetch.enqueue(requestListPages);

        BookFiles bookFiles = new BookFiles();
        bookFiles.setBookID(bookId);

        ArrayList<String> pagesPath = getPagesArray(pagesFiles);
        ArrayList<String> soundsPath = getSoundsArray(pagesFiles);

        bookFiles.setPagesPath(pagesPath);
        bookFiles.setSoundsPath(soundsPath);
        Gson gson11 = new Gson();
        String filesJson = gson11.toJson(bookFiles);

        MyJSON.saveData(getApplicationContext(), filesJson, fileNameForWrite);
    }
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ответы на вопрос 1
@klim76
android/java/sql
.show()
на диалоге
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы