无法将上下文传递给非活动类?

时间:2019-03-15 16:10:02

标签: android

我正在尝试将SQLite打开为扩展的非活动类。这可能吗? DBCustomerReceipt是我的DBHelper。我可以通过我的Activity类完全访问它,但是当我尝试扩展非活动类时,出现错误“无法应用DBCustomerReceipt中的DBCustomerReceipt(android.content.Context)”。这是下面的代码。任何帮助将不胜感激。

public class EnglishReceiptsImpl extends ILocalizeReceipts {
//public class EnglishReceiptsImpl extends Activity {

    public EnglishReceiptsImpl() {
        mLanguageCode = "En";

        mCharacterCode = CharacterCode.Standard;
    }

    public void append2inchTextReceiptData(ICommandBuilder builder, boolean utf8) {
        Charset encoding;

        DBCustomerReceipt cCR = new DBCustomerReceipt(**this**);
        cCR.open();

}

1 个答案:

答案 0 :(得分:0)

这里的问题是EnglishReceiptsImpl没有扩展Context。您注释了将使之成为可能的那一行:

//public class EnglishReceiptsImpl extends Activity {

如果返回此行,则可以解决当前错误。但是,您将无法同时扩展ILocalizeReceipts。如果需要这样做,则必须修改构造函数以采用Context并将其传递到实例化EnglishReceiptsImpl的任何位置。