Android:无法在非静态方法中设置getContext() - 需要API级别23

时间:2016-04-20 07:05:35

标签: android-studio android-api-levels

下面是一些从非静态方法调用的源代码。我收到了错误

  

“呼叫需要API级别23(当前最小值为15);   android.app.Fragment#的getContext“

ModelBuilder.Entity<ChildrenA>().HasOptional(e => e.RelatedChildrenA)
 .WithOptionalDependent()
 .Map(a => a.MapKey("RelatedId"));

ModelBuilder.Entity<ChildrenB>().HasOptional(e => e.RelatedChildrenB)
  .WithOptionalDependent()
  .Map(a => a.MapKey("RelatedId"));

ModelBuilder.Entity<ChildrenC>().HasOptional(e => e.RelatedChildrenC)
  .WithOptionalDependent()
  .Map(a => a.MapKey("RelatedId"));

如何获取上下文对象?

在对象资源管理器下&gt; Gradle Scripts&gt; build.gradle,我明白了。看起来像版本23给我。我在寻找正确的位置吗?

android.content.Context context = (Context) getContext();

看起来我有Android Studio 1.5.1。我刚刚在Android Studio中选择了SettingsActivity项目模板。并在该默认代码中添加了一个类。

3 个答案:

答案 0 :(得分:5)

您需要导入import android.support.v4.app.Fragment而不是import android.support.app.Fragment;

答案 1 :(得分:1)

getActivity()代替getContext()作为上传。

答案 2 :(得分:0)

解决的一种方法是在Activity onCreate方法中将“this”(活动)转换为(Context)。