我刚刚遇到了同样的问题。杰克的上述解决方案没有为我解决这个问题 - 该方法未定义。
我在 ActionBarSherlock 的错误列表中找到了 Jake 发布的可行解决方案:
看看杰克对海报的回应 - 诀窍是打电话getSupportActionBar()
首先,“触发视图的创建”。
So my 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);
}
根据 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;
使用 ABS 时要记住这一点 - 许多正常的 Android 导入应该更新为引用 ABS。
重新访问导入块可能是个好主意,或者可能将其完全删除并让 Eclipse 为您重建它 (CTRL-SHIFT-O),此时 Eclipse 将提示您进行 ABS 重新声明的每个导入。
Glebbb 在书中也解释了这一点他的回答.