调用“requestWindowFeature(Window.FEATURE_PROGRESS);”时出现Android错误在活动中

时间:2011-03-08 15:52:07

标签: android

我正在尝试在Android Activity中显示WebView的加载进度。当我尝试使用以下内容显示窗口的进度条时:

requestWindowFeature( Window.FEATURE_PROGRESS );

根据http://developer.android.com/guide/appendix/faq/commontasks.html#progressbar,但此时我收到调试错误。

当错误发生时,我在Eclipse中看到一个新标签“ActivityThread.performLaunchActivity”,其中有一条消息“找不到来源”。和一个按钮“编辑源查找路径...”。

当我删除有问题的行时,我没有收到此错误。

可能导致此问题的原因是什么?我是否需要在AndroidManifest.xml文件中设置权限,还是我还缺少其他内容?

5 个答案:

答案 0 :(得分:13)

在致电requestWindowFeature()之前,您是否尝试过setContentView()来电?

根据this post,这是必要的。

Window.requestFeature():

的文档
  

启用扩展屏幕功能。这个   必须先叫   的setContentView()。可以称为   根据需要,可以多次使用   在setContentView()之前。

答案 1 :(得分:5)

使用:

public class MainActivity extends Activity

而不是:

public class MainActivity extends ActionBarActivity

答案 2 :(得分:2)

确保在致电requestWindowFeature( Window.FEATURE_PROGRESS );中的setContentView()之前致电onCreate()

答案 3 :(得分:0)

它将targetSdkVersion改为19,这使我无法工作。特别是函数requestWindowFeature函数打破了这一切。我从我的Manifest xml中删除了它,并且只使用了minSdkVersion到8并且它有效。

答案 4 :(得分:0)

aliosmeen是对的。您需要扩展Activity而不是ActionBarActivity。由于某种原因,这两个类以不同方式实现requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);方法。我是这样做的,它不再崩溃了。但是,在调用requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);方法之前,必须先调用setContentView()方法。