我正在尝试在Android Activity中显示WebView的加载进度。当我尝试使用以下内容显示窗口的进度条时:
requestWindowFeature( Window.FEATURE_PROGRESS );
根据http://developer.android.com/guide/appendix/faq/commontasks.html#progressbar,但此时我收到调试错误。
当错误发生时,我在Eclipse中看到一个新标签“ActivityThread.performLaunchActivity”,其中有一条消息“找不到来源”。和一个按钮“编辑源查找路径...”。
当我删除有问题的行时,我没有收到此错误。
可能导致此问题的原因是什么?我是否需要在AndroidManifest.xml文件中设置权限,还是我还缺少其他内容?
答案 0 :(得分:13)
在致电requestWindowFeature()
之前,您是否尝试过setContentView()
来电?
根据this post,这是必要的。
的文档启用扩展屏幕功能。这个 必须先叫 的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()
方法。