开发者社区 问答 正文

android运行出错?报错

super.onCreate(savedInstanceState);
//requestWindowFeature(Window.FEATURE_PROGRESS);

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

setContentView(R.layout.activity_title_progress_bar);

setProgressBarIndeterminateVisibility(true);

运行是报错:requestFeature()must be called before adding content;


展开
收起
爱吃鱼的程序员 2020-06-14 16:38:40 479 分享 版权
阿里云 AI 助理回答
  1. 问题描述: 用户在尝试使用requestWindowFeature方法设置进度条特性时遇到错误,错误信息为requestFeature() must be called before adding content

  2. 可能原因

    • requestWindowFeature方法调用的时机不当。此方法必须在setContentView之前被调用,因为一旦布局被设置,窗口的特性就无法再被改变。
  3. 解决步骤

    • 调整代码顺序,确保requestWindowFeature方法在setContentView之前被调用。
      1. 移动requestWindowFeature的调用至setContentView之前。
      2. 保持其他代码逻辑不变。
  4. 修改后的代码示例

    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
    
       // 必须在setContentView之前调用requestWindowFeature
       requestWindowFeature(Window.FEATURE_PROGRESS);
       requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    
       setContentView(R.layout.activity_title_progress_bar);  
       setProgressBarIndeterminateVisibility(true);  
    }
    
  5. 注意事项

    • 重要务必确保requestWindowFeature调用发生在任何设置内容视图的操作之前,以避免该类错误。
    • 如果你的Activity继承自特定的父类(如AppCompatActivity),并且父类中已经调用了setContentView,你需要在父类调用之前或在子类的onCreate中尽早调用requestWindowFeature

通过以上步骤,你应该能够解决requestFeature() must be called before adding content这个错误。如果问题仍然存在,请检查是否有其他地方也设置了内容视图,或者考虑是否存在特定库或框架的特殊要求。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答