2017-05-30 92 views
1

无活性的方法我已经从类AppCompatActivityFragmentActivity扩展延伸。上FragmentActivity

我有,我叫getActivity()方法做一些事情,比如setTitle()片段。

使用Android工作室3.0金丝雀2之后我注意到下述问题: IDE标记作为错误

无法解析方法

所有方法未覆盖或不存在于FragmentActivityAppCompatActivity,如setTitle(),runOnUiThread()等等。

但项目编译和编译没有任何错误。

问题如何解决这个问题呢?

我试过

  1. 的Invalidate缓存和重新启动

更新不知道为什么你需要为抽象的问题代码,但

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 
    } 
} 
+0

@LuizFernandoSalvaterra公布。但不知道代码如何能够解决显而易见的IDE问题。特别是当此代码正常工作且在以前版本的Android Studio中未检测到标记时。 – DEADMC

回答

1

这个问题已经有一段时间了,通常是由于过时的supp或者库的版本。

如果您按照android.support.v7.app.AppCompatActivity的类层次结构进行操作,您会发现它确实从android.app.Activity延伸。但一路上,android.support.v4.app.SupportActivity课程上有一个有趣的注释,可能会导致您的问题。它有一个名为@RestrictTo的注释,旨在限制对特定的一组类的访问(与默认的Java可见性构造相比,具有不同的粒度)。 但是在这种情况下,该注释可能会阻止您访问SupportActivity和所有子类(即Activity)中的所有方法的能力。

我能够通过简单(在写作时25.3.1)更新我的程序兼容性到最新版本,以解决这个问题。原始版本有一组GROUP_ID,后来更改为LIBRARY_GROUP。我怀疑android studio处理这些注释的方式是您的问题的根源。

有这个问题在Android工作室bug跟踪一个解决版本:https://issuetracker.google.com/issues/37130193

+0

是的!这有帮助!我将构建工具版本更改为25.0.3,这有所帮助。顺便说一句你确定25.3.1?取决于这里https://developer.android.com/studio/releases/build-tools.html最新是25.0.3。无论如何,你帮了很多,谢谢。 – DEADMC