Sunday 15 January 2012

New Object getting created while using CallBack methods in Java? -



New Object getting created while using CallBack methods in Java? -

i trying create utilize of callback functionality in java. arrayindexoutofbound exception while implementing it

callbackinterface.java

interface callbackinterface { public void oncallback(int position); }

first.java

public class first implements callbackinterface { list<string> list = new arraylist<string>(); public static void main(string args[]) { new first().gogo(); } public void gogo(){ list.add("one"); callbackinterface obj = new first(); sec second = new second(obj); second.getposition(); } public void oncallback(int position) { list.remove(0); } }

second.java

class sec { callbackinterface callback; public second(callbackinterface callback) { this.callback = callback; } public void getposition() { callback.oncallback(0); } }

**here stacktrace: **

exception in thread "main" java.lang.indexoutofboundsexception: index: 0, size: 0 @ java.util.arraylist.rangecheck(arraylist.java:635) @ java.util.arraylist.remove(arraylist.java:474) @ org.help.adapters.first.oncallback(first.java:28) @ org.help.adapters.second.getposition(first.java:43) @ org.help.adapters.first.gogo(first.java:25) @ org.help.adapters.first.main(first.java:17)

in method oncallback() arrayindexoutexception, because list empty. while using callbacks objects initialized 1 time again ? need utilize same list in callback method?

it's not callback that's creating new object, it's you.

callbackinterface obj = new first(); sec second = new second(obj);

instead pass object

second sec = new second(this);

since this object has element added list.

java callback

No comments:

Post a Comment