繁体   English   中英

getContext()不存在

[英]getContext() doesn't exist

所以我一直在官方网站上进行Android Developer培训,他们希望我们最终实例化我们的数据库。

所以他们告诉我们使用这段代码:

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getContext());

但是,我收到了getContext()方法的错误。 它声明它找不到该方法的符号。

所以我搜索了源代码,并且找不到View类中的那个方法。 这是一种弃用的方法吗? 如果这不是一个选项,还有其他方法我们可以抓住视图的上下文吗?

谢谢!

您传递的代码行是:

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(geContext());


如果您替换以下任何代码行,它应该工作:

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getContext());

要么

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getApplicationContext());

要么

FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(this);


Context的android开发者文档:

https://developer.android.com/reference/android/content/Context.html

您可能会在这个问题中找到有用的东西,这解释了什么是上下文:

什么是Android上的“上下文”?

多数民众赞成我是如何做到的

  1. 主要活动

    FeedReaderContract contract = new FeedReaderContract(this);

  2. 我编辑了FeedReaderContract类的构造函数

    mDbHelper = new FeedReaderDbHelper(getContext());

  3. 方法getContext()

    public Context getContext(){return context; }

在您的代码中,您使用了geContext()将其更改为getContext()getApplicationContext()或者如果从活动内部调用该对象,则只需传递this

View类有一个getContext方法。

您要么输入错误,要么您的代码不在View的子类的非静态方法中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM