Android 在FragmentActivity上没有活动方法

Android 在FragmentActivity上没有活动方法,android,android-studio,Android,Android Studio,我的类从AppCompatActivity扩展而来,它从FragmentActivity扩展而来 我在一些片段中调用getActivity()方法来做一些事情,比如setTitle() 使用Android Studio 3.0 Canary 2后,我注意到以下问题: IDE标记为错误 无法解析方法 所有未被覆盖或不存在于FragmentActivity或AppCompatActivity中的方法,如setTitle(),runOnUiThread()和许多其他方法 但项目构建和编译时没有任何错误

我的类从
AppCompatActivity
扩展而来,它从
FragmentActivity
扩展而来

我在一些片段中调用
getActivity()
方法来做一些事情,比如
setTitle()

使用Android Studio 3.0 Canary 2后,我注意到以下问题: IDE标记为错误

无法解析方法

所有未被覆盖或不存在于
FragmentActivity
AppCompatActivity
中的方法,如
setTitle()
runOnUiThread()
和许多其他方法

但项目构建和编译时没有任何错误

问题如何解决这个问题

我尝试的

  • 使缓存无效并重新启动
  • 更新不知道为什么需要抽象问题的代码,但是

    public class FullViewActivity extends AppCompatActivity {
    
       @Override
       protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_full_view); 
          setTitle("test"); //method is not resolved
          getIntent(); //method is not resolved
       }
    }
    

    这个问题已经存在了一段时间,通常是由于过时的支持库版本造成的

    如果遵循
    android.support.v7.app.AppCompatActivity
    的类层次结构,您将看到它确实从
    android.app.Activity
    扩展而来。但是在此过程中,
    android.support.v4.app.SupportActivity
    类上有一个有趣的注释,它可能会导致您的问题。它有一个名为
    @RestrictTo
    的注释,用于限制对特定类集的访问(与默认java可见性构造相比,粒度不同)但是在这种情况下,该注释可能会阻止您访问
    支持活动
    和所有子类(即
    活动
    )中的所有方法

    我只需将appcompat更新到最新版本(撰写本文时为25.3.1),就可以解决这个问题。原始版本有一组
    group\u ID
    ,后来改为
    LIBRARY\u group
    。我怀疑android studio处理这些注释的方式是您的问题的根源


    android studio bug跟踪器上有一个解决了这个问题的版本:

    @LuizFernandoSalvaterra发布。但我不知道代码如何帮助解决明显的IDE问题。尤其是当这段代码有效并且在以前版本的Android Studio中未检测到任何标记时。是的!那有帮助!我将构建工具版本更改为25.0.3,这很有帮助。顺便说一句,你确定是25.3.1吗?取决于此处,最新版本为25.0.3。不管怎样,你帮了很多忙,谢谢。