0
Class A
{
    Class B
    {
        ArrayList<MultiGridImageNode>   a
        Bitmap                          b
        ByteBuffer                      c
    }

    B bb;

    save()
    {
        //Load will use Save method to fetch all stored value in file(which is correct)
    }

    load(B cc)
    {
        //this P.x and P.y . I am fetching from file one by one (while debugging i can see correct value)
        Point P;
        cc.a.get(i).add(P)   //Still NULL POINTER EXCEPTION ERROR 
    }
}
4

1 に答える 1

0

どのオブジェクトも初期化されていません。それらを宣言するだけでは、新しいオブジェクトはインスタンス化されません。次のようなことを試してください:

Class A
{
    Class B
    {
        ArrayList<MultiGridImageNode>   a = new ArrayList<MultiGridImageNode>(); // <----
        Bitmap                          b = new Bitmap(); // <----
        ByteBuffer                      c = new ByteBuffer(); // <----
    }

    B bb = new B(); // <----

    save()
    {
        //Load will use Save method to fetch all stored value in file(which is correct)
    }

    load(B cc)
    {
        //this P.x and P.y . I am fetching from file one by one (while debugging i can see correct value)
        Point P = new Point(); // <----
        cc.a.get(i).add(P)   //Still NULL POINTER EXCEPTION ERROR 
    }
}

で変更をマークしました// <----

于 2013-02-04T12:11:01.350 に答える