I have a little problem understanding how to create a child class's contructor, which extends Parent class.Here is the code that I'm using :
Parent class constructor :
public RPCPacket( int apacketId,
RPCPacketType apacketType,
RPCOperationType aoperationType,
String tmpPacket_objectOid,
int aobjectId,
int adataSize,
String tmpPacket_dataHash,
RPCPacketDataType adataType,
byte[] apacketData){
RPCPacket packet=null;
switch(apacketType){
case ST_OBJECT_TYPE_INFO_START:
{
packet = new InfoStartRPCPacket();
break;
}
case ST_OBJECT_TYPE_INFO_END:
{
packet = new InfoEndRPCPacket();
break;
}
case ST_OBJECT_TYPE_INFO_ERROR:
{
packet = new InfoErrorRPCPacket();
break;
}
// Basic packets
case ST_OBJECT_TYPE_COLLECTION:
{
packet = new CollectionRPCPacket();
break;
}
case ST_OBJECT_TYPE_CATEGORY:
{
packet = new CategoryRPCPacket();
break;
}
case ST_OBJECT_TYPE_CARD:
{
packet = new CardRPCPacket();
break;
}
case ST_OBJECT_TYPE_MESSAGE:
{
packet = new MessageRPCPacket();
break;
}
case ST_OBJECT_TYPE_GENRE:
{
packet = new GenreRPCPacket();
break;
}
case ST_OBJECT_TYPE_TAG:
{
packet = new TagRPCPacket();
break;
}
case ST_OBJECT_TYPE_USER:
{
packet = new UserRPCPacket();
break;
}
case ST_OBJECT_TYPE_CARDSTATS_CATEGORY:
{
packet = new CardStatsCategoryRPCPacket();
break;
}
case ST_OBJECT_TYPE_CONTENT:
{
packet = new ContentRPCPacket();
break;
}
// Media packets
case ST_OBJECT_TYPE_MEDIA_COLLECTION:
{
packet = new MediaCollectionRPCPacket();
break;
}
case ST_OBJECT_TYPE_MEDIA_CATEGORY:
{
packet = new MediaCategoryRPCPacket();
break;
}
case ST_OBJECT_TYPE_MEDIA_CARD:
{
packet = new MediaCardRPCPacket();
break;
}
case ST_OBJECT_TYPE_MEDIA_TAG:
{
packet = new MediaTagRPCPacket();
break;
}
case ST_OBJECT_TYPE_MEDIA_COLLECTION_BUTTON:
{
packet = new MediaCollectionButtonRPCPacket();
break;
}
// unknown packet
default:
{
packet=null;
break;
}
}
}
Child class constructor :
static int apacketId;
static RPCPacketType apacketType;
static RPCOperationType aoperationType;
static String tmpPacket_objectOid;
static int aobjectId;
static int adataSize;
static String tmpPacket_dataHash;
static RPCPacketDataType adataType;
static byte[] apacketData;
public InfoStartRPCPacket() {
super(apacketId, apacketType, aoperationType, tmpPacket_objectOid, aobjectId,
adataSize, tmpPacket_dataHash, adataType, apacketData);//line 46 from LogCat error
}
And the LogCat Exception :
09-08 11:18:05.614: WARN/System.err(3376): java.lang.NullPointerException
09-08 11:18:05.614: WARN/System.err(3376): at com.stampii.stampii.comm.rpc.RPCPacket.<init>(RPCPacket.java:68)
09-08 11:18:05.614: WARN/System.err(3376): at com.stampii.stampii.comm.rpc.InfoStartRPCPacket.<init>(InfoStartRPCPacket.java:46)
09-08 11:18:05.614: WARN/System.err(3376): at com.stampii.stampii.comm.rpc.RPCPacket.<init>(RPCPacket.java:71)
09-08 11:18:05.614: WARN/System.err(3376): at com.stampii.stampii.user.UserLogin$2.onClick(UserLogin.java:122)
09-08 11:18:05.614: WARN/System.err(3376): at android.view.View.performClick(View.java:2408)
09-08 11:18:05.614: WARN/System.err(3376): at android.view.View$PerformClick.run(View.java:8817)
09-08 11:18:05.614: WARN/System.err(3376): at android.os.Handler.handleCallback(Handler.java:587)
09-08 11:18:05.614: WARN/System.err(3376): at android.os.Handler.dispatchMessage(Handler.java:92)
09-08 11:18:05.614: WARN/System.err(3376): at android.os.Looper.loop(Looper.java:144)
09-08 11:18:05.614: WARN/System.err(3376): at android.app.ActivityThread.main(ActivityThread.java:4937)
09-08 11:18:05.614: WARN/System.err(3376): at java.lang.reflect.Method.invokeNative(Native Method)
09-08 11:18:05.614: WARN/System.err(3376): at java.lang.reflect.Method.invoke(Method.java:521)
09-08 11:18:05.614: WARN/System.err(3376): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-08 11:18:05.614: WARN/System.err(3376): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-08 11:18:05.624: WARN/System.err(3376): at dalvik.system.NativeStart.main(Native Method)
Any suggestions how to fix my issue?