Intermediate Progress不适用于在Gingerbread上运行的ActionBarSherlock

Wil*_* L. 5 java android actionbarsherlock android-actionbar progress-bar

我用我的应用程序设置了ActionBarSherlock,我正在尝试使用Intermediate Progress,我正在使用它:

    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);    
    setSupportProgressBarIndeterminateVisibility(false);
Run Code Online (Sandbox Code Playgroud)

在我的onCreate中,然后使用:

    setSupportProgressBarIndeterminateVisibility(true);
Run Code Online (Sandbox Code Playgroud)

启用它.

它在ICS中运行良好,但它在Gingerbread或Froyo中根本不起作用,有谁知道如何让它工作?谢谢

Ric*_*ier 13

我刚遇到同样的问题.Jake上面的解决方案并没有为我解决 - 方法未定义.

我在这里找到了一个由Jake发布的ActionBarSherlock错误列表的工作解决方案:

看看杰克对海报的回应 - 诀窍是先打电话getSupportActionBar(),"触发创造意见".

所以我的onCreate()方法是:

protected void onCreate(Bundle arg0)
{
    super.onCreate(arg0);

    // allow window to show progress spinner in the action bar
    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    getSupportActionBar();
    setSupportProgressBarIndeterminateVisibility(false); 
}
Run Code Online (Sandbox Code Playgroud)

根据Laux的评论更新:

确保您的导入反映com.actionbarsherlock.view.Window.FEATURE_INDETERMINATE_PROGRESS了这一点.

以下是import来自使用此模式的应用程序的块的一部分:

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.ActionProvider;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.view.Window;
import com.actionbarsherlock.widget.ShareActionProvider;
Run Code Online (Sandbox Code Playgroud)

使用ABS时要记住这是一件非常好的事情 - 许多正常的Android导入应该更新以引用ABS.

重新访问导入块可能是一个好主意,或者可能完全删除它并让Eclipse为您重建(CTRL-SHIFT-O),Eclipse将提示您重新获取ABS重新导入的每个导入.

Glebbb在他的回答中也解释了这一点.