簡體   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