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。不管怎样,你帮了很多忙,谢谢。