Android Indeterminate ProgressBar 不旋转

标签 android progress-bar

很抱歉,如果之前有人问过这个问题,但我找不到这个问题的答案(我已经搜索过了!)

我已尝试按照 google/android 文档在我的应用执行冗长任务时显示并旋转不确定的进度条。

protected void readData(final String whatToFind) 
{

    try
    {
        if (whatToFind.length() == 0)
        {
            adapter.notifyDataSetChanged();
            return;
        }


        mProgress.setVisibility(View.VISIBLE);
        mProgressText.setVisibility(View.VISIBLE);

        m_dialog = new ProgressDialog(this);
            m_dialog.setTitle("Searching...");
            m_dialog.setMessage("Please wait while searching...");
            m_dialog.setIndeterminate(true);
            m_dialog.setCancelable(true); 
            m_dialog.show(); 

        new Thread(new Runnable() 
        {
            public void run() 
            {
                mHandler.post(new Runnable() 
                {    
                    public void run() 
                    {

                                while (LotsOfWorkGoingOn)  
                                {
                                    // Update the progress bar
                                        mHandler.post(new Runnable() {
                                         public void run() {
                                             mProgress.setProgress(m_i); /// vain attempt to make the progressbar spin
                                         }
                                     });                                

                                                         mProgress.setVisibility(View.GONE);
                                                         mProgressText.setVisibility(View.GONE);
                                                         m_dialog.hide();

                                            }

                        });
            }
        }).start();

    }
    catch (Exception ex)
    {
        Log.e(LOGid, "Error listing items:" + ex.getStackTrace());
    }

最佳答案

setProgress 仅在进度条不是 Indeterminate 时有效。

Indeterminate 表示,它没有进度量,当您不知道完成/剩余进度量以结束任务时使用。

documentation 中所述:

A progress bar can also be made indeterminate. In indeterminate mode, the progress bar shows a cyclic animation without an indication of progress. This mode is used by applications when the length of the task is unknown. The indeterminate progress bar can be either a spinning wheel or a horizontal bar.

另一方面,如果您连进度条都看不到,也许您的背景很浅?

尝试将样式属性设置为:

style="@android:style/Widget.ProgressBar.Inverse"

关于Android Indeterminate ProgressBar 不旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10376705/

相关文章:

java - GeotriggerHandlerReceiver 在 PlotProjects 中被弃用。什么是替代使用?

jquery-ui - 有没有办法在 jQuery UI Progressbar 中显示百分比数字?

android - Mosby MVI - 如何重用 Presenter

java - Android:使用 drawable 与 drawable-nodpi 文件夹时内存消耗存在巨大差异

c# - 不可测量外部过程的渐近进度条?

android - AsyncTask 和进度条

Android,如何自定义进度条的外观?

javascript - 如何在AjaxUpload上设置进度条?

java - 如何设置可扩展大小的数组以防止空指针异常?

android - Cordova - 由于联系人许可,Android 应用程序在启动时崩溃