NullPointerException异常从一个类继承功能(NullPointerExceptio

2019-11-02 01:36发布

我想继承一个类的功能,但它返回NullPointerException 。 任何人都可以请帮助?

这是我尝试在继承功能Main.java 。 此功能在运行良好Main.java

public void readData() {
    String readString = "";

    try {
        FileInputStream fIn = openFileInput("user.txt");
        InputStreamReader isr = new InputStreamReader(fIn);
        BufferedReader buffreader = new BufferedReader(isr);

        readString = buffreader.readLine();
        isr.close();

    } catch (IOException ioe) {
        ioe.printStackTrace();
    }

    telephonyManager.listen(myPhoneStateListener,
                            PhoneStateListener.LISTEN_CALL_STATE);
}

这里是我的另一大类编码:

Main main =new Main();
main.readData();

错误日志:

04-16 02:58:23.812: E/AndroidRuntime(8125): java.lang.NullPointerException
04-16 02:58:23.812: E/AndroidRuntime(8125):   at android.content.ContextWrapper.openFileInput(ContextWrapper.java:167)
04-16 02:58:23.812: E/AndroidRuntime(8125):   at com.test.Main.readData(Main.java:176)

Answer 1:

问题是, openFileInput()需要一个Context 。 您需要创建在您的类构造函数contextparam

public void ClassWithFunction
{
   Context mContext;
    public ClassWithFunction (Context context)
    {
         mContext = context
    }
}

然后通过你的Context

Main main =new Main(this);
main.readData();

然后使用,当你调用这个函数

FileInputStream fIn = mContext.openFileInput("user.txt");  //mContext is context sent from Activity

注意:您将要使用此Context ,如果你有这个类中的任何其他方法需要它

下面是我对SO对同一件事情的答案



文章来源: NullPointerException with inherited function from a class