Android ProgressBar 不更新 onProgress

标签 android android-progressbar

进度条不更新。然而,它在任务完成时结束。

int totalSms = 12;
int currentSms = 0;

public class ProgressTask extends AsyncTask<String, Integer, Boolean> {

    /** progress dialog to show user that the backup is processing. */
    private ProgressDialog dialog;

    public ProgressTask(ScanInboxActivity activity) {
        dialog = new ProgressDialog(activity);
        dialog.setIndeterminate(true);
        dialog.setCancelable(false);
        dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        dialog.setMax(totalSms);
    }

    protected void onPreExecute() {
        dialog.setMessage("Scan start");
        dialog.show();
    }

    @Override
    protected void onProgressUpdate(Integer... values) {
        Log.d(TAG, "in onProgressUpdate: " + values[0]); // shows actuall count in the log
        dialog.setProgress(values[0]); // does not update

                    //tried even this, does not work
        //dialog.incrementProgressBy(values[0]);
    }

    @Override
    protected void onPostExecute(final Boolean success) {
        if (dialog.isShowing()) {
            dialog.dismiss();
        }
        populateList();
    }

    protected Boolean doInBackground(final String... args) {
            try {
                Context context = getApplicationContext();
                SharedPreferences prefs = PreferenceManager
                        .getDefaultSharedPreferences(context);
                while (currentSms < totalSms) {
                    Thread.sleep(1000);
                    currentSms++;
                    publishProgress(currentSms);
                }
            } catch (IllegalArgumentException e) {
            } catch (InterruptedException e) {

            }
            return true;
        }

最佳答案

dialog.setIndeterminate(true);

应该是false,否则加载值不会被计算

关于Android ProgressBar 不更新 onProgress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17166250/

相关文章:

android - PubNub + 解析集成。这个可以吗?

java - 如何在 Android 应用程序中以编程方式创建 Telegram 贴纸

java - convertView.getTag();创建转换错误

android - 仅使用微调器(在中间)创建progressDialog

android - 在android中创建矩形进度条

java - Activity 标题显示奇数值

java - 示例 hello-jni 上的 Android NDK java.lang.UnsatisfiedLinkError

android - 使用 RXJAVA 处理显示进度条的服务器延迟

java - 快速处理数据

java - ConstraintLayout 内 RecyclerView 内的 Center ProgressBar